16. В чем отличие записи ( float *) a от ( float ) * a, если а – указатель на целое число?
17. В чем отличие записи *а++ от (*а)++, если а – некоторый указатель, отличный от void*?
18. Как описать указатель на начало массива?
19. Как описать указатель на указатель?
20. Когда и зачем может повторно использоваться операция разыменования?
Лабораторная работа № 5. Одномерные массивы
Цель работы – познакомиться с организацией одномерных массивов, изучить принципы работы с массивами, освоить работу с массивами через указатели.
Постановка задачи
Написать две программы согласно индивидуальному варианту. Использовать обращение к элементам матрицы с помощью операции [] и через указатель. Ввод элементов массива осуществлять с клавиатуры. Во время отладки и тестирования программы размер массива можно уменьшить.
Варианты заданий
Вариант 1
1. Сформировать новый массив из элементов массива М (25), встречающихся в этом массиве только один раз.
2. Определить, представляют ли собой элементы массива А (20) возрастающую последовательность.
Вариант 2
1. Записать элементы массива С (20) в обратном порядке {С20;С19;С18;…;С2;С1}. Вспомогательный массив не использовать.
2. Вставить число 100 после второго положительного элемента массива
А (15).
Вариант 3
1. Определить количество элементов массива М (22), больших среднего арифметического значения элементов этого массива.
2. В массиве А (45) найти локальные максимумы, определить их местоположение. Локальным максимумом назовем элемент массива, значение которого больше, чем значения двух соседних с ним элементов.
Вариант 4
1. Из массивов А (20) и С (20) образовать новый массив Х={a1,c1,a2,c2,…,a20,c20}
2. Удалить из массива М (25) все элементы, значения которых в этом массиве повторяются, оставив по одному.
Вариант 5
1. Найти 2 первых элемента в массиве С (17), значения которых не попадают в заданный с клавиатуры диапазон [A, B]. Поменять их местами.
2. В массиве А (35) найти минимум, определить его местоположение (с учетом возможного повторения).
Вариант 6
1. Вставить после каждого пятого элемента массива А (12) значение, равное сумме трех предшествующих элементов.
2. Вычислить сумму отрицательных элементов массива D (19), кратных четырем.
Вариант 7
1. Сформировать массив простых двузначных чисел.
2. Поменять местами максимальный отрицательный и первый положительный элементы массива В (18).
Вариант 8
1. Вставить число 0 в середину массива М (20), предварительно сдвинув вправо значения элементов массива, начиная с 11-го.
2. Упорядочить массив А (50) в порядке убывания.
Вариант 9
1. Вычислить сумму элементов массива М (15), значения которых лежат в введенном с клавиатуры диапазоне [X, Y].
2. Удалить из массива А (20) первый отрицательный элемент.
Вариант 10
1. Поменять местами максимальный и последний отрицательный элементы массива А (40).
2. Сформировать новый массив из элементов заданного целочисленного массива М (50), кратных 7 или содержащих в записи числа цифру 7.
Вариант 11
1. Удалить из массива В (50) все элементы, кратные 3 или 5.
2. Заменить все четные элементы массива А (19) на их квадраты, нечетные удвоить. Проверить, изменилась ли сумма элементов массива.
Вариант 12
1. Удалить из массива М (26) первый положительный элемент.
2. Определить, есть ли в массиве Q (10) заданное число Х, и если нет, то найти ближайшее к нему.
Вариант 13
1. Найти сумму элементов массива А (45), находящихся между максимальным и минимальным значениями.
2. Сформировать новый массив из положительных нечетных элементов заданного массива Р (20).
Вариант 14
1. Определить местоположение элементов массива А (30), не встречающихся в массиве В (15).
2. Найти сумму четных элементов массива М (15), имеющих четные индексы.
Вариант 15
1. Определить, есть ли в массиве М (15) пары соседних одинаковых элементов.
2. Найти наибольший отрицательный элемент массива А (23) и удалить его.
Вариант 16
1. Поменять местами первый и последний отрицательные элементы массива В (18).
2. Определить, является ли массив М (20) перестановкой последовательности натуральных чисел от 1 до 20, т. е. проверить, все ли числа из этого диапазона входят в указанный массив.
Вариант 17
1. Удалить из массива А(25) все нули.
2. Значение каждого элемента массива Р (60) является дополнением его порядкового номера до 100. Вывести этот массив на экран.
Вариант 18
1. Элементы массива D (12) – длины сторон многоугольника. Определить, является ли он равносторонним.
2. Даны целые числа x и y. Вычислить сумму элементов массива А(35) таких, что x<А i<y.
Вариант 19
1. Определить, есть ли в массиве Q (10) заданное число Х, и если есть, то удалить его (если встречается неоднократно, то удалить все), а если нет, то добавить в конец массива.
2. Вычислить , где Sп и Sо – суммы положительных и отрицательных элементов массива А (70).
Вариант 20
1. Массив M (100) содержит целые числа. Поменять знак у элементов, значение которых оканчивается на 2, на 5 или на 9, остальные удалить.
2. Вычислить , где Sп и Kп – сумма и количество положительных элементов массива А (70), а Sо и Kо – сумма и количество отрицательных элементов того же массива.
Вариант 21
1. Вычислить сумму положительных элементов массива М (40), кратных заданному натуральному а.
2. Определить, есть ли в массиве Q (35) заданное число Х, и если есть, то удалить его (если встречается неоднократно, то удалить последнее вхождение).
Вариант 22
1. Сформировать массив Q (25), значение каждого элемента которого равно удвоенному квадрату индекса этого элемента, и поменять в нем местами второй и предпоследний элементы.
2. Вычислить , где P1 и P2 – первый и второй положительные элементы массива А (100), N1 и N2 – первый и второй отрицательные элементы того же массива.
Вариант 23
1. Сформировать новый массив из элементов заданного целочисленного массива А(50), значения которых встречаются в нем неоднократно. В новом массиве все значения должны быть уникальными.
2. Вычислить , где Kп и Kо – суммы положительных и отрицательных элементов массива Z (65).
Вариант 24
1. В массиве Х (20) каждый последующий элемент вдвое больше предыдущего. Вывести на экран этот массив, учитывая, что х1=0,55.
2. Сформировать новый массив из элементов заданного целочисленного массива М (100), кратных 8 или содержащих в записи числа цифру 5.
Вариант 25
1. Определить количество элементов массива Р (50), отличающихся от своих соседей слева как минимум вдвое.
2. Найти наибольший положительный элемент массива А (40), лежащий в диапазоне , и удалить его.
Вариант 26
1. Сформировать новый упорядоченный по убыванию массив из двух упорядоченных в том же порядке массивов А(12) и В(20).
2. Вычислить , где Kп и Kо – количество положительных и отрицательных элементов массива Z (50) соответственно.
Контрольные вопросы
1. Что такое массив?