Главная страница
Навигация по странице:

  • (Технический университет) Кафедра информационных технологий в автоматизированных системах МЕТОДИЧЕСКИЕ УКАЗАНИЯ

  • include include void main () {int a[10],b[10],c[10],na,nb,nc=0,i,j;//na,nb,nc- длины массивов a,b,c

  • {//проверка отсутствия a[i] в c for (j=0;j if (j==nc)//если a[i] нет в с заносим его в этот массив c[nc++]=a[i];

  • { printf(" Массив C\n"); for (i=0;i printf("%7d",c[i]); printf ("\n"); } printf("

  • include include void main () {int a[10][10],n,m,i,j,*u1,*u4,buf,k=0;

  • //как только найден 4-й положительный элемент, оба цикла завершаются for (i=0;i for (j=0;j if (a[i][j]>0)

  • if (k==4) u4=a[i][j]; } if (u4==NULL)//если нет четырех положительных элементов printf("нет перестановки ");

  • Методичка по С. Методические указания к лабораторному практикуму по дисциплине Программирование на языках высокого уровня (язык Си) москва 2005


    Скачать 429.5 Kb.
    НазваниеМетодические указания к лабораторному практикуму по дисциплине Программирование на языках высокого уровня (язык Си) москва 2005
    АнкорМетодичка по С.doc
    Дата23.09.2018
    Размер429.5 Kb.
    Формат файлаdoc
    Имя файлаМетодичка по С.doc
    ТипМетодические указания
    #25022
    КатегорияИнформатика. Вычислительная техника
    страница1 из 6
      1   2   3   4   5   6



    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ


    Московский государственный институт электроники и математики

    (Технический университет)

    Кафедра информационных технологий в автоматизированных системах

    МЕТОДИЧЕСКИЕ УКАЗАНИЯ

    к лабораторному практикуму по дисциплине

    Программирование на языках высокого уровня

    (язык Си)


    МОСКВА 2005

    Составители: ст. преподаватель Е.А. Ерохина,

    проф.., к. т. н. Л.В. Зайцева,

    доц., к. т. н. В.Г. Ссорин.

    Методические указания предназначены для студентов, изучающих

    программирование на языке Си и содержат задания лабораторного практикума, выполняемые студентами самостоятельно под контролем преподавателя.

    Предназначено для студентов специальности 22.03

    УДК 681.3.06

    Е-60


    Методические указания для выполнения лабораторных работ по дисциплине “Программирование на языках высокого уровня (язык Си)”/ Моск. гос. ин-т электроники и математики; Сост.: Е.А. Ерохина, Л.В. Зайцева, В.Г. Ссорин . М., 2005. 32 с.

    Библиогр.: 5 назв.


    ISBN 5-94506-100-X

    СОДЕРЖАНИЕ


    1. Лабораторная работа 1. "Одномерные массивы" 4

    2. Пример решения задачи 5

    3. Лабораторная работа 2. "Двумерные массивы (с использованием указателей)" 6

    4. Пример решения задачи 7

    5. Лабораторная работа 3. "Символьные строки. Подпрограммы" 8

    Выбор варианта 9

    6. Пример решения задачи 9

    7. Лабораторная работа 4. "Структуры. Файлы " 12

    8. Примеры решения задач 14

    9. Лабораторная работа 5. "Списки. Динамические переменные" 18

    Выбор варианта 19

    10. Пример решения задачи 19

    11. Лабораторная работа 6. "Рекурсия" 22

    12. Примеры решения задач 24

    13. Пример использования рекурсии для проверки правильности записи арифметического выражения 26

    14. Библиографический список 32


      1. Лабораторная работа 1. "Одномерные массивы"



    Даны два одномерных массива целых чисел А и В. Вычислить одномерный массив С, который содержит:


    1. Нечетные элементы массива А, которых нет в массиве В.

    2. Элементы, присутствующие в обоих массивах А и В.

    3. Элементы, которые есть только в массиве А или только в массиве В.

    4. Четные элементы массива А, присутствующие в массиве В.

    5. Неповторяющиеся элементы массива А, которых нет в массиве В.

    6. Элементы массива А, которые присутствуют в массиве В.

    7. Элементы массива А, присутствующие в массиве В в одном экземпляре.

    8. Элементы массива А, повторяющиеся в массиве В несколько раз.

    9. Элементы, присутствующие в массивах А и В в одном экземпляре.

    10. Элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В.

    11. Повторяющиеся элементы массива А, которые есть в массиве В.

    12. Повторяющиеся элементы массива А, которые есть в массиве В только в одном экземпляре.

    13. Неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах.

    14. Повторяющиеся элементы массива А, которых нет в массиве В.

    15. Неповторяющиеся элементы массива А, которые присутствуют в массиве В в одном экземпляре.

    16. Элементы массива А в одном экземпляре, которые есть в массиве В в одном экземпляре.

    17. Элементы массива А в одном экземпляре, которые есть в массиве В в нескольких экземплярах.

    18. Элементы, присутствующие в нескольких экземплярах либо только в массиве В, либо только в массиве А.

    19. Элементы в одном экземпляре (без повторений), присутствующие в обоих массивах А и В.

    20. Элементы в одном экземпляре (без повторений), которые есть только в массиве В или только в массиве А.

    21. Элементы в одном экземпляре (без повторений), присутствующие в массиве А, но отсутствующие в массиве В.

    22. Элементы в одном экземпляре (без повторений), присутствующие в обоих массивах А и В в нескольких экземплярах.

    23. Элементы в одном экземпляре (без повторений), присутствующие в нескольких экземплярах в массиве А, но отсутствующие в массиве В.

    24. Элементы в одном экземпляре (без повторений), присутствующие в нескольких экземплярах либо только в массиве А, либо только в массиве В.

    25. Элементы в одном экземпляре (без повторений), присутствующие в нескольких экземплярах либо в массиве А, либо в массиве В, либо в обоих массивах одновременно.


    ПРИМЕЧАНИЕ: Номер варианта выбирается равным номеру по журналу.
      1. Пример решения задачи



    Задача 1.Сформировать массив С, состоящий из повторяющихся нечетных элементов массива А, отсутствующих в массиве В. Элементы в массиве С не должны повторяться.
    #include

    #include
    void main ()

    {int a[10],b[10],c[10],na,nb,nc=0,i,j;//na,nb,nc-длины массивов a,b,c
    clrscr();

    printf ("введите длину массива А:"); scanf("%d",&na);

    printf ("введите массив А\n");

    for (i=0;i

    // ввод (nb, b[0:nb-1]) - аналогично

    for(i=0;i

    if (a[i] % 2 == 1)// можно записать условие в виде if (a[i] % 2)

    {//проверка повторения a[i]

    for(j=0;jцикл закрыт

    if (ja[i] повторяется

    {//проверка отсутствия a[i] в b

    for (j=0;jцикл закрыт

    if (j==nb)//условие отсутствия a[i] в b

    {//проверка отсутствия a[i] в c

    for (j=0;j

    if (j==nc)//если a[i] нет в с заносим его в этот массив

    c[nc++]=a[i];

    }

    }

    }

    //вывод результата

    if (nc==0)

    printf("массив C пуст\n");

    else

    { printf("Массив C\n");

    for (i=0;i

    printf("%7d",c[i]);

    printf ("\n");

    }

    printf("Нажмите любую клавишу\n");

    getch();

    }
      1. Лабораторная работа 2. "Двумерные массивы (с использованием указателей)"



    В заданном двумерном массиве целых чисел поменять местами следующие два элемента:

    1. Минимальный и максимальный.

    2. Два наименьших.

    3. Первый положительный и последний положительный.

    4. Два наибольших.

    5. Два первых положительных.

    6. Два последних отрицательных.

    7. Два первых четных.

    8. Два последних нечетных.

    9. Минимальный среди положительных и максимальный среди отрицательных.

    10. Два наибольших среди отрицательных.

    11. Два наименьших среди положительных.

    12. Минимальный и максимальный по абсолютной величине.

    13. Два наибольших по абсолютной величине.

    14. Минимальный среди элементов, расположенных выше главной диагонали и максимальный среди элементов, расположенных ниже главной диагонали.

    15. Два наименьших среди элементов, расположенных выше главной диагонали.

    16. Первый и последний положительные среди элементов, расположенных ниже главной диагонали.

    17. Два первых отрицательных среди элементов, расположенных выше главной диагонали.

    18. Два наибольших по абсолютной величине среди элементов, расположенных ниже главной диагонали.

    19. Минимальный и первый нулевой.

    20. Максимальный и последний отрицательный.

    21. Первый положительный и последний отрицательный.

    22. Последний нулевой и максимальный по абсолютной величине.

    23. Минимальный по абсолютной величине и пятый нулевой.

    24. Второй и пятый среди отрицательных элементов.

    25. Минимальный четный и последний положительный среди элементов, расположенных ниже главной диагонали.

    26. Первый и четвертый среди положительных элементов, расположенных выше главной диагонали.

    27. Минимальный и максимальный среди элементов, расположенных в четных столбцах.

    28. Два наибольших по абсолютной величине среди элементов, расположенных в нечетных строках.

    29. Минимальный среди элементов, расположенных в четных строках и максимальный среди элементов, расположенных в нечетных строках.

    30. Максимальный четный и последний нулевой среди элементов, расположенных в нечетных столбцах.


    ПРИМЕЧАНИЕ: Номер варианта выбирается равным номеру по журналу.
      1. Пример решения задачи



    Задача 2.Поменять местами первый и четвертый положительные элементы целочисленной матрицы А.
    #include

    #include
    void main ()

    {int a[10][10],n,m,i,j,*u1,*u4,buf,k=0;

    //k - число положительных элементов

    //u1 и u4 -указатели на 1-й и 4-й положительные элементы
    clrscr();

    //ввод матрицы

    printf ("введите n и m :"); scanf("%d%d",&n,&m);

    printf ("введите матрицу А\n");

    for (i=0;i

    for (j=0;j

    scanf("%d",&a[i][j]);
    u1=u4=NULL;

    //как только найден 4-й положительный элемент, оба цикла завершаются

    for (i=0;i

    for (j=0;j

    if (a[i][j]>0)

    {k++;//указатели меняются тогда, когда элемент был

    //положительным (первым или четвертым по счету)

    if (k==1)

    u1=&a[i][j];

    if (k==4)

    u4=&a[i][j];

    }

    if (u4==NULL)//если нет четырех положительных элементов

    printf("нет перестановки ");

    else

    { buf=*u1,*u1=*u4,*u4=buf;//обмен значений

    //вывод матрицы

    printf ("матрица А после перестановки\n");

    for (i=0;i

    { for (j=0;j

    printf("%7d",a[i][j]);

    printf("\n");

    }

    }

    getch();

    }
      1.   1   2   3   4   5   6


    написать администратору сайта