ЗАДАЧИ ДЛЯ ИЗУЧАЮЩИХ
ПРОГРАММИРОВАНИЕ САМОСТОЯТЕЛЬНО
Этот раздел предназначен для тех, кто самостоятельно изучает программирование или готовится к сдаче экзамена. В разделе собраны задачи
от простейших до весьма сложных, причем выстроены они по темам, а внутри тем от простых к сложным. Желательно решать эти
задачи последовательно и пропускать их только в том случае, если решение для Вас очевидно. Если Вам удалось решить все задачи,
то можете поставить себе "отлично" и смело переходить к изучению следующей темы программирования – обработке двумерных массивов…
Общее задание:
Во всех задачах требуется написать, отладить и протестировать программу, обеспечивающую выполнение следующих действий:
1. Ввод с клавиатуры одномерного массива A[N] целых чисел, 1<=N<=20.
2. Вывод исходного, т.е. только что введенного, массива.
3. Обработка массива в соответствии с заданием.
4. Вывод параметров массива, которые требуется найти по заданию. Например, в задаче требуется найти и удалить максимальный элемент массива.
В этом случае перед удалениемтребуется вывести значение и индекс найденного максимального элемента.
5. Вывод массива после внесенных изменений.
Замечания:
1. При обработке вспомогательными массивами по возможности не пользоваться.
2. Если по заданию требуется использовать больше одного массива, то каждый из массивов - это массив целых чисел.
Первый массив называется А,второй массив называется B, третий массив называется C. Все они могут содержать от 1 до 20 элементов.
Задачи на сканирование всего массива
1. Подсчитать количество нечетных элементов массива.
Пример: массив 7 2 6 5 4 4 10 3 9
нечетные элементы 7 5 3 9
их количество 4
2. Подсчитать сумму четных элементов массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
их сумма 26
3. Элементы массива, кратные числу 3, обнулить.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 3 6 3 9
массив после обработки 7 2 0 5 4 4 10 0 0
4. Элементы массива, стоящие между четными, обнулить.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
элементы между четными 5 4
массив после обработки 7 2 6 0 4 0 10 3 9
Поиск элементов в массиве
5. Найти первый четный элемент массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
первый из четных 2
6. Найти последний элемент массива, кратный числу 5.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 5 5 10
последний из них 10
7. Найти первый и последний элементы массива, кратные числу 3.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 3 6 3 9
первый и последний из них 6 9
8. Найти последний элемент массива, правее которого расположен четный элемент.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
элементы левее четных 7 2 5 4 4
последний из них 4
9. Найти максимальный из четных элементов массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
максимальный из четных 10
10. Найти максимальный из элементов, имеющих четный индекс.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы с четными индексами 2 5 4 3
максимальный из них 5
11. Найти наименьший из элементов, расположенных правее максимального элемента массива.
Пример: массив 7 2 6 5 4 4 10 3 9
максимальный элемент 10
наименьший правее максимального 3
Поиск цепочек в массиве
12. Найти и вывести все цепочки нечетных элементов массива.
Замечание: цепочкой элементов будем считать идущие друг за другом слева направо элементы массива, удовлетворяющие определенному условию.
Будем считать цепочкой длиной в один отдельно стоящий элемент, удовлетворяющий условию.
Пример: массив 7 2 6 5 4 4 10 3 9
нечетные элементы 7 5 3 9
все цепочки №1 - 7
№2 - 5
№3 - 3 9
13. Найти и вывести самую длинную цепочку четных элементов массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
самая длинная цепочка 4 4 10
ее длина =3
Удаление одиночных элементов
14. Удалить последний четный элемент массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
последний из четных 10
массив после удаления 7 2 6 5 4 4 3 9
15. Удалить первый четный элемент массива, имеющий нечетный индекс.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
с нечетными индексами 6 4 10
первый из них 6
массив после удаления 7 2 5 4 4 10 3 9
16. Удалить минимальный из элементов, кратных числу 3.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 3 6 3 9
минимальный из них 3
массив после удаления 7 2 6 5 4 4 10 9
17. Удалить наибольший из нечетных элементов, расположенных левее минимального из кратных числу 3.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 3 6 3 9
минимальный из них 3
нечетные левее его 7 5
наибольший из них 7
массив после удаления 2 6 5 4 4 10 3 9
Удаление элементов массива по признаку
18. Удалить все четные элементы массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
массив после удаления 7 5 3 9
19. Удалить все четные элементы массива, имеющие нечетный индекс.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
имеющие нечетный индекс 6 4 10
массив после удаления 7 2 5 4 3 9
20. Удалить все простые элементы массива.
Пример: массив 7 2 6 5 4 4 10 3 9
простые элементы 7 2 5 3
массив после удаления 6 4 4 10 9
21. Удалить все нечетные элементы массива, расположенные левее максимального.
Пример: массив 7 2 6 5 4 4 10 3 9
максимальный элемент 10
нечетные левее его 7 5
массив после удаления 2 6 4 4 10 3 9
Удаление цепочек элементов массива
22. Удалить самую длинную цепочку четных элементов.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
цепочки №1 - 2 6 - длина цепочки 2
№2 - 4 4 10 - длина цепочки 3
самая длинная цепочка (номер 2) 4 4 10
массив после удаления 7 2 6 5 3 9
23. Удалить элементы массива, расположенные между первым и вторым нечетными элементами.
Пример: массив 7 2 6 5 4 4 10 3 9
нечетные элементы 7 5 3 9
первый и второй из них 7 5
элементы между ними 2 6
массив после удаления 7 5 4 4 10 3 9
Вставка элементов в массив
24. После первого элемента, кратного числу 5, вставить элемент, равный 0.
Пример: массив 7 2 6 5 4 4 10 3 9
элементы кратные 5 5 10
первый из них 5
массив после вставки 7 2 6 5 0 4 4 10 3 9
25. После каждого четного элемента массива вставить два элемента с тем же значением.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
массив после вставки
7 2 2 2 6 6 6 5 4 4 4 4 4 4 10 10 10 3 9
Создание дополнительного массива
26. Создать массив В из нечетных элементов массива А. Массив А не изменять.
(Другая формулировка этой же задачи: Скопировать нечетные элементы и массива А в В).
Пример: массив А 7 2 6 5 4 4 10 3 9
нечетные элементы 7 5 3 9
массив В 7 5 3 9
массив А (после копирования) 7 2 6 5 4 4 10 3 9
27. Создать массив В из четных элементов массива А. Из массива А четные элементы удалить.
(Другая формулировка - Перенести четные элементы из массива А в В).
Пример: массив А 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
массив В 2 6 4 4 10
массив А (после переноса) 7 5 3 9
28. В массив В записать все элементы массива встречающиеся больше одного раза. В массиве А оставить только по одному из таких элементов.
Пример: массив А 7 3 6 5 4 3 10 3 4
элементы встречающиеся
больше одного раза 3 и 4
массив В 3 4
массив А 7 3 6 5 4 10
Перестановка элементов массива
29. Переставить первый и последний четные элементы массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
первый и последний 2 10
массив после перестановки 7 10 6 5 4 4 2 3 9
30. Переставить элементы массива, расположенные между первым и последним четными элементами массива в обратном порядке.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
первый и последний 2 10
массив после перестановки 7 2 4 4 5 6 10 3 9
Перестановка цепочек
31. Переставить местами цепочки элементов массива, расположенные до первого четного и после последнего четного элементов массива.
Пример: массив 7 2 6 5 4 4 10 3 9
четные элементы 2 6 4 4 10
первый и последний 2 10
цепочка до первого из них 7
цепочка после последнего 3 9
массив после перестановки 3 9 2 6 5 4 4 10 7
32. Найти максимальный и минимальный элементы массива. Цепочку элементов, расположенных левее обоих из них, удалить.
Цепочки, расположенны между ними и правее обоих из них, переставить местами.
Пример: массив 7 2 6 5 4 4 10 3 9
минимальный 2
максимальный 10
цепочка левее обоих 7
цепочка между ними 6 5 4 4
цепочка правее обоих 3 9
массив после обработки 2 3 9 10 6 5 4 4
Подсчет количества встреч элементов
33. Посчитать, сколько разных элементов храниться в массиве.
Пример: массив 7 2 6 5 4 4 10 3 9
разные элементы 7 2 6 5 4 10 3 9
всего их 8
34. Посчитать, сколько раз встречается каждый из элементов массива.
Замечание: Можно использовать дополнительный массив для хранения уникальных элементов.
Пример: массив 7 2 6 5 4 4 10 3 9
встречаются 7-1 2-1 6-1 5-1 4-2 10-1 3-1 9-1
Обработка двух массивов
35. Вводятся массивы А и В. В массив А добавить первый четный элемент массива В.
Пример: массив А 7 3 7 5 4 3
массив В 1 3 4 2 3 6 1
четные элементы массива В 4 2 6
первый из них 4
массив А после обработки 7 3 7 5 4 3 4
массив В после обработки 1 3 4 2 3 6 1
36. Вводятся массивы А и В. В начало массива А переписать нечетные элементы массива В,
расположенные левее максимального элемента.
Пример: массив А 7 3 7 5 4 3
массив В 1 3 4 2 3 6 1
максимальный элемент В 6
нечетные элементы В 1 3 3 1
левее максимального 1 3 3
массив А после обработки 1 3 3 7 3 7 5 4 3
массив В после обработки 4 2 6 1
37. Вводятся массивы А и В. Из массива А удалить все элементы, правее которых расположены четные элементы.
В конец массива В добавить минимальный
и максимальный из удаленных элементов.
Пример: массив А 7 1 6 6 7 4 3
массив В 1 3 4 2
четные элементы А 6 6 4
элементы А левее четных 1 6 7
массив А после удаления 7 6 4 3
минимальный из удаленных 1
максимальный из удаленных 7
массив В после добавления 1 3 4 2 1 7
Обработка трех массивов
38. Вводятся массивы А и В. В массив С переписать все элементы массива А, которые встречаются в массиве
В не меньше чем 2 раза.
Пример: массив А 7 3 7 5 4 3
массив В 1 3 4 2 3 6 4 1 3
массив С 3 4
39. Вводятся массивы А, В и С. Из массива А удалить элементы, совпадающие по значению с теми из элементов массива В,
которых нет в массиве С.
Пример: массив А 7 3 7 5 4 9
массив В 1 3 4 2 3 6 4 1 3 5
массив С 3 1 8 9
из массива А не удаляются:
7 - нет в В
3 - есть в В, но есть и в С
9 - нет в В
из массива А удаляются:
5 - есть в В и нет в С
4 - есть в В и нет в С
массив А после обработки 7 3 7 9
40. Вводятся массивы А и В. Из массива А удалить все элементы, которые встречаются в В ровно 2 раза.
Из В переписать в С те элементы, которые совпадают с оставшимися в массиве А.
Пример: массив А 7 3 7 5 4 3
массив В 1 3 4 2 3 1 4 7 3
в массиве В 2 раза встречаются 1 4
массив А после удаления 7 3 7 5 3
элементы В совпадающие с А 3 3 7 3
массив С 3 3 7 3
массив В 1 4 2 6 4
Добавление элементов в уже отсортированный массив
41. Вводиться массив А. При добавлении каждый новый элемент вставляется в массив таким образом,
чтобы весь массив был упорядочен по возрастанию.
Пример: исходное состояние массив А - пустой
ввод 3 массив А 3
ввод 5 массив А 3 5
ввод 2 массив А 2 3 5
ввод 7 массив А 2 3 5 7
ввод 4 массив А 2 3 4 5 7
<<