16. В чем отличие записи ( float *) a от ( float ) * a, если а – указатель на целое число?

17. В чем отличие записи *а++ от ()++, если а – некоторый указатель, отличный от void*?

18. Как описать указатель на начало массива?

19. Как описать указатель на указатель?

20. Когда и зачем может повторно использоваться операция разыменования?

 

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

Цель работы – познакомиться с организацией одномерных массивов, изучить принципы работы с массивами, освоить работу с массивами через указатели.

Постановка задачи

Написать две программы согласно индивидуальному варианту. Использовать обращение к элементам матрицы с помощью операции [] и через указатель. Ввод элементов массива осуществлять с клавиатуры. Во время отладки и тестирования программы размер массива можно уменьшить.

Варианты заданий

Вариант 1

1. Сформировать новый массив из элементов массива М (25), встречающихся в этом массиве только один раз.

2. Определить, представляют ли собой элементы массива А (20) возрастающую последовательность.

Вариант 2

1. Записать элементы массива С (20) в обратном порядке {С201918;…;С21}. Вспомогательный массив не использовать.

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. Что такое массив?