- •Министерство образования и науки Республики Казахстан
- •Лабораторная работа №1. "Выполнение и отладка программы простой структуры"
- •1. Краткие теоретические сведения
- •1.1. Структура программы
- •1.2. Константы и переменные
- •1.3. Операции
- •1.4. Выражения
- •1.5. Ввод и вывод
- •1.5.1. Ввод и вывод в стандартном Си
- •2. Постановка задачи
- •3. Варианты
- •4. Методические указания
- •5. Содержание отчета
- •Краткие теоретические сведения
- •Составные операторы
- •Операторы выбора
- •Операторы циклов
- •Операторы перехода
- •2. Постановка задачи
- •3. Варианты
- •3. Содержание отчета
- •4. Методические указания
- •Лабораторная работа №3 "Вычисление функций с использованием их разложения в степенной ряд"
- •1. Краткие теоретические сведения
- •2. Постановка задачи
- •3. Варианты
- •4. Методические указания
- •5. Содержание отчета
- •1.4. Указатели и массивы
- •2. Варианты заданий
- •3. Методические указания
- •4. Содержание отчета
- •Лабораторная работа №5 "Конструирование функций для обработки массивов"
- •Краткие теоретические сведения
- •1.1. Функции
- •1.2. Массивы и строки как параметры функций
- •2. Постановка задачи
- •3. Варианты
- •4. Содержание отчета
- •Лабораторная работа № 6 "Программы для обработки строк"
- •1. Краткие теоретические сведения
- •2. Постановка задачи
- •3. Варианты
- •4. Содержание отчета
- •1. Краткие теоретические сведения
- •2. Постановка задачи
- •3. Варианты
- •4. Содержание отчета
- •7.2. "Функции с переменным числом параметров"
- •1. Краткие теоретические сведения
- •2. Постановка задачи
- •3. Варианты
- •4. Содержание отчета
- •Лабораторная работа №8 "Блоковый ввод-вывод"
- •1. Краткие теоретические сведения
- •1.2. Потоковый ввод-вывод
- •1.3. Открытие и закрытие потока
- •Блоковый ввод-вывод
- •2. Постановка задачи
- •3. Варианты
- •4. Методические указания
- •5. Содержание отчета
- •Лабораторная работа № 9 "Строковый ввод-вывод"
- •Краткие теоретические сведения
- •2. Постановка задачи
- •3. Варианты
- •4. Содержание отчета
- •Лабораторная работа № 10 "Программирование приложений с динамическими массивами"
- •Краткие теоретические сведения
- •Формирование динамических массивов с использованием библиотечных функций
- •Формирование динамических массивов с использованием операций new и delete
- •2. Постановка задачи
- •3. Порядок выполнения работы
- •4. Варианты заданий
- •5. Содержание отчета
- •Лабораторная работа № 11 "Списковые динамические структуры"
- •Краткие теоретические сведения
- •2. Постановка задачи
- •Порядок выполнения работы
- •4. Варианты заданий
- •5.Содержание отчета
- •Литература
1.4. Указатели и массивы
Имя массива без индекса является указателем-константой, т. е. адресом первого элемента массива (a[0]).
a
|
|
|
|
|
|
|
|
*a = = a[0] ;
*(a+1) = = a[1];
. . . . . . . . .
*(a+i) = =a[i];
В соответствии с синтаксисом в Си существуют только одномерные массивы, но их элементами , в свою очередь, тоже могут быть массивы.
int a[5][5];
Для двумерного массива:
a[m][n] = = *(a[m]+n) = = *(*(a+m)+n);
2. Варианты заданий
1.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить элемент с номером К.
Добавить после каждого четного элемента массива элемент со значением 0.
Распечатать полученный массив.
2.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить первый элемент равный 0.
Добавить после каждого четного элемента массива элемент со значением M[ I-1 ]+2.
Распечатать полученный массив.
3.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить все элементы равные 0.
Добавить после первого четного элемента массива элемент со значением M[ I-1 ]+2.
Распечатать полученный массив.
4.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить элементы, индексы которых кратны 3.
Добавить после каждого отрицательного элемента массива элемент со значением | M[ I-1 ]+1|.
Распечатать полученный массив.
5.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить элементы кратные 7.
Добавить после каждого нечетного элемента массива элемент со значением 0.
Распечатать полученный массив.
6.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить элемент с заданным номером.
Добавить после первого четного элемента массива элемент со значением M[ I-1 ]+2.
Распечатать полученный массив.
7.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить последний элемент равный 0.
Добавить после элемента массива с заданным индексом элемент со значением 100.
Распечатать полученный массив.
8.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить все элементы с заданным значением.
Добавить перед каждым четным элементом массива элемент со значением 0.
Распечатать полученный массив.
9.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить первый элемент с заданным значением.
Сдвинуть массив циклически на К элементов вправо.
Распечатать полученный массив.
10.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить 5 первых элементы массива.
Добавить в конец массива 3 новых элемента.
Распечатать полученный массив.
11.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить 5 последних элементов массива.
Добавить в начало массива 3 элемента с значением M[ I+1 ]+2.
Распечатать полученный массив.
12.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Поменять местами минимальный и максимальный элементы массива.
Удалить из массива все элементы превышающие его среднее значение более, чем на 10%.
Распечатать полученный массив.
13.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Удалить из массива все элементы совпадающие с его минимальным значением.
Добавить в начало массива 3 элемента с значением равным среднему арифметическому массива.
Распечатать полученный массив.
14.
Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Распечатать полученный массив.
Перевернуть массив и, если число элементов массива нечетное, удалить его средний элемент.
Добавить в начало массива 3 элемента с значением M[ I+10 ]-2.
Распечатать полученный массив.
15.
Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).
Удалить из кольца первый и последний элементы.
Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).
16.
Реализовать с использованием массива очередь (первый пришел, первый ушел), для чего организовать добавление, удаление элементов в массив и печать массива после каждой операции.
17.
Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).
Добавить в кольцо первый и последний элементы.
Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).
18.
Реализовать с использованием массива однонаправленное кольцо (просмотр возможен слева направо, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1.
Добавить в кольцо первый и последний элементы.
Удалить из кольца четные элементы.
Распечатать полученный массив, начиная с К-ого элемента и до К-1.
19.
Реализовать с использованием массива однонаправленное кольцо (просмотр возможен справа налево, от первого элемента можно перейти к последнему).
Распечатать полученный массив, начиная с К-ого элемента и до К+1.
Добавить в кольцо первый и последний элементы.
Удалить из кольца нечетные элементы.
Распечатать полученный массив, начиная с К-ого элемента и до К+1.
20.
Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).
Добавить в кольцо после элементов с индексами кратными 5 элементы равные 0.
Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).
21.
Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).
Добавить в кольцо первый и 3 последних элемента.
Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).
22.
Реализовать с использованием массива стек (первый пришел, последний ушел), для чего организовать добавление, удаление элементов в массив и печать массива после каждой операции.
23.
Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).
Удалить из кольца все элементы совпадающие с его максимальным значением.
Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).
24.
Реализовать с использованием массива однонаправленное кольцо (просмотр возможен слева направо, от последнего элемента можно перейти к первому).
Распечатать полученный массив, начиная с К-ого элемента и до К-1.
Упорядочить элементы по возрастанию
Удалить из кольца четные элементы.
Распечатать полученный массив, начиная с К-ого элемента и до К-1.
25.
Реализовать с использованием массива однонаправленное кольцо (просмотр возможен справа налево, от первого элемента можно перейти к последнему).
Распечатать полученный массив, начиная с К-ого элемента и до К+1.
Упорядочить элементы по убыванию
Удалить из кольца нечетные элементы.
Распечатать полученный массив, начиная с К-ого элемента и до К+1.