§ 14. Преобразование элементов массива

Упражнения

    

1. Можно ли в примере 14.1 заменить команды под № 1 командами под № 2?

1.  if (a[i] > 0)

      a[i] = 2;

    if (a[i] < 0)

      a[i] += 5 ;

 

2.  if (a[i] < 0)

      a[i] += 5 ;

    if (a[i] > 0)

      a[i] = 2;

В каких случаях программа будет давать неверный результат?

2. Задан одномерный массив. Преобразуйте его элементы по следующему правилу: из всех положительных элементов вычесть элемент с номером k, ко всем отрицательным добавить введенное число x. Нулевые элементы оставьте без изменения.

3. Задан одномерный массив из четного количества элементов. Поменяйте местами его «половинки»: 1 2 3 4 5 6 → 4 5 6 1 2 3.

4. В массиве записана информация об учащихся класса (фамилия и имя). Из класса выбыли два учащихся. Известны номера выбывших учащихся. Исключите их данные из массива.

5. Переставьте первый элемент массива на последнее место, второй — на первое, третий — на второе и т. д. 1 2 3 4 5 6 → 6 5 4 3 2 1.

6. Осуществите циклические сдвиги элементов в массиве.

1. На два элемента вправо 1 2 3 4 5 6 → 5 6 1 2 3 4.
2. 
На два элемента влево 1 2 3 4 5 6 → 3 4 5 6 1 2.
3. 
На k элементов вправо. Число k вводится.
4. 
На k элементов влево. Число k вводится.

7. Разбить элементы массива на группы по 4. В каждой четверке осуществить циклический сдвиг влево на 1. Первый на 4-е место. Если количество элементов в массиве не кратно 4, то для последней группы сдвиг осуществляется для того количества элементов, которое осталось.

8. Удалить из массива все отрицательные элементы. Вывести преобразованный массив.

9. Удалить из массива все элементы, которые являются полными квадратами (например, 9, 25, 64).

10. Удалить из массива все элементы, которые являются степенью 2.

11. Задан линейный массив, элементами которого являются слова. Удалите из него указанные слова.

1. Слова, начинающиеся на согласную букву. 
2. Слова, в которых менее 5 согласных. 
3. Слова, которые являются палиндромами.

12. Вставить элемент x в позицию x. Если x ≤ 0 или x ≥ n, вставить его на первое или последнее место соответственно.

13. Прочитайте числа из файла в массив. Если два соседних числа имеют разные знаки (одно положительное, а другое отрицательное), вставьте между ними число 0. Запишите полученный массив в файл.