Формирование массива и вывод его элементов
В заданиях на формирование массива предполагается, что размер резуль-
тирующего массива не превосходит 10.
Array1. Дано целое число N (> 0). Сформировать и вывести целочисленный
массив размера N, содержащий N первых положительных нечетных чисел:
1, 3, 5, . . . .
Array2. Дано целое число N (> 0). Сформировать и вывести целочисленный
массив размера N, содержащий степени двойки от первой до N -й: 2, 4,
8, 16, . . . .
Array3. Дано целое число N (> 1), а также первый член A и разность D ариф-
метической прогрессии. Сформировать и вывести массив размера N, со-
держащий N первых членов данной прогрессии:
A, A + D, A + 2·D, A + 3·D, . . . .
Array4◦ . Дано целое число N (> 1), а также первый член A и знаменатель D
геометрической прогрессии. Сформировать и вывести массив размера N,
содержащий N первых членов данной прогрессии:
A, A·D, A·D2, A·D3, . . . .
Array5. Дано целое число N (> 2). Сформировать и вывести целочисленный
массив размера N, содержащий N первых элементов последовательности
чисел Фибоначчи FK :
F1= 1,
F2= 1,
FK= FK-2 + FK-1 , K = 3, 4, . . . .
Array6. Даны целые числа N (> 2), A и B. Сформировать и вывести цело-
численный массив размера N, первый элемент которого равен A, второй
50
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
равен B, а каждый последующий элемент равен сумме всех предыдущих.
Array7◦. Дан массив размера N. Вывести его элементы в обратном порядке.
Array8. Дан целочисленный массив размера N. Вывести все содержащиеся в
данном массиве нечетные числа в порядке возрастания их индексов, а
также их количество K.
Array9. Дан целочисленный массив размера N. Вывести все содержащиеся в
данном массиве четные числа в порядке убывания их индексов, а также
их количество K.
Array10. Дан целочисленный массив размера N. Вывести вначале все содержа-
щиеся в данном массиве четные числа в порядке возрастания их индексов,
а затем — все нечетные числа в порядке убывания их индексов.
Array11. Дан массив A размера N и целое число K (1 ≤ K ≤ N ). Вывести эле-
менты массива с порядковыми номерами, кратными K: AK, A2·K , A3·K, . . . .
Условный оператор не использовать.
Array12. Дан массив A размера N (N — четное число). Вывести его элементы
с четными номерами в порядке возрастания номеров: A2, A4, A6, . . ., AN .
Условный оператор не использовать.
Array13. Дан массив A размера N (N — нечетное число). Вывести его элементы
с нечетными номерами в порядке убывания номеров: AN, AN-2 , AN-4, . . .,
A1. Условный оператор не использовать.
Array14. Дан массив A размера N. Вывести вначале его элементы с четными
номерами (в порядке возрастания номеров), а затем — элементы с нечет-
ными номерами (также в порядке возрастания номеров):
A2, A4, A6, . . ., A1, A3, A5, . . . .
Условный оператор не использовать.
Array15. Дан массив A размера N. Вывести вначале его элементы с нечетными
номерами в порядке возрастания номеров, а затем — элементы с четными
номерами в порядке убывания номеров:
A1, A3, A5, . . ., A6, A4, A2.
Условный оператор не использовать.
Array16◦. Дан массив A размера N. Вывести его элементы в следующем по-
рядке:
A1, AN, A2, AN-1 , A3, AN-2, . . . .
Array17. Дан массив A размера N. Вывести его элементы в следующем поряд-
ке:
A1, A2, AN, AN-1, A3, A4, AN-2, AN-3, . . . .
Одномерные массивы
Анализ элементов массива
Для выполнения некоторых заданий из данного пункта не требуется од-
новременно хранить в памяти все исходные данные, поэтому использовать
при их выполнении массивы, строго говоря, не нужно. Однако применение
массивов позволяет сделать алгоритмы решения этих заданий более просты-
ми и наглядными. Задания из данного пункта можно дополнить заданиями из
групп Series и Minmax, рассматривая их как задания на обработку массивов. С
другой стороны, для тех заданий данного пункта, которые можно выполнить,
не используя массивы, полезно реализовать и такие алгоритмы решения.
Array18. Дан массив A ненулевых целых чисел размера 10. Вывести значение
первого из тех его элементов AK, которые удовлетворяют неравенству
AK< A10. Если таких элементов нет, то вывести 0.
Array19. Дан целочисленный массив A размера 10. Вывести порядковый номер
последнего из тех его элементов AK, которые удовлетворяют двойному
неравенству A1< AK< A10. Если таких элементов нет, то вывести 0.
Array20. Дан массив размера N и целые числа K и L (1 ≤ K ≤ L ≤ N ). Найти
сумму элементов массива с номерами от K до L включительно.
Array21. Дан массив размера N и целые числа K и L (1 ≤ K ≤ L ≤ N ).
Найти среднее арифметическое элементов массива с номерами от K до L
включительно.
Array22. Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N ). Найти
сумму всех элементов массива, кроме элементов с номерами от K до L
включительно.
Array23. Дан массив размера N и целые числа K и L (1 < K ≤ L ≤N ).
Найти среднее арифметическое всех элементов массива, кроме элементов
с номерами от K до L включительно.
Array24. Дан целочисленный массив размера N, не содержащий одинаковых
чисел. Проверить, образуют ли его элементы арифметическую прогрес-
сию : A, A+D, A+2D, A+3D, ... . Если образуют, то вывести разность прогрессии,
если нет — вывести 0.
Array25. Дан массив ненулевых целых чисел размера N. Проверить, образуют
ли его элементы геометрическую прогрессию:A, A∙D, A⋅D2, A∙D3, … .Если
образуют, то вывести знаменатель прогрессии, если нет — вывести 0.
Array26. Дан целочисленный массив размера N. Проверить, чередуются ли в
нем четные и нечетные числа. Если чередуются, то вывести 0, если нет,
52
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
то вывести порядковый номер первого элемента, нарушающего законо-
мерность.
Array27. Дан массив ненулевых целых чисел размера N. Проверить, череду-
ются ли в нем положительные и отрицательные числа. Если чередуются,
то вывести 0, если нет, то вывести порядковый номер первого элемента,
нарушающего закономерность.
Array28. Дан массив A размера N. Найти минимальный элемент из его эле-
ментов с четными номерами: A2, A4, A6, . . . .
Array29. Дан массив A размера N. Найти максимальный элемент из его эле-
ментов с нечетными номерами: A1 , A3, A5, . . . .
Array30. Дан массив размера N. Найти номера тех элементов массива, которые
больше своего правого соседа, и количество таких элементов. Найденные
номера выводить в порядке их возрастания.
Array31. Дан массив размера N. Найти номера тех элементов массива, которые
больше своего левого соседа, и количество таких элементов. Найденные
номера выводить в порядке их убывания.
Array32◦. Дан массив размера N. Найти номер его первого локального ми-
нимума (локальный минимум — это элемент, который меньше любого из
своих соседей).
Array33. Дан массив размера N. Найти номер его последнего локального мак-
симума (локальный максимум — это элемент, который больше любого из
своих соседей).
Array34. Дан массив размера N. Найти максимальный из его локальных ми-
нимумов (локальный минимум –это элемент,который меньше любого из своих соседей).
Array35. Дан массив размера N. Найти минимальный из его локальных мак-
симумов (локальный максимум-это элемент, который больше любого из своих соседий).
Array36. Дан массив размера N. Найти максимальный из его элементов, не яв-
ляющихся ни локальным минимумом, ни локальным максимумом (локальный минимум-это элемент, который меньше любго из своих соседий; локальный максимум-это элемент, который больше любого из своих соседий ). Если таких элементов в массиве нет, то вывести
(как вещественное число).
Array37. Дан массив размера N. Найти количество участков, на которых его
элементы возрастают.
Array38. Дан массив размера N. Найти количество участков, на которых его
элементы убывают.
Одномерные массивы
Array39.Дан массив размера N. Найти количество его промежудков моно-
тонности (то есть участков, на которых его элементы возрастают или
убывают).
Array40. Дано число R и массив A размера N. Найти элемент массива, кото-
рый наиболее близок к числу R (то есть такой элемент AK , для которого
величина |AK − R| является минимальной).
Array41. Дан массив размера N. Найти два соседних элемента, сумма которых
максимальна, и вывести эти элементы в порядке возрастания их индексов.
Array42. Дано число R и массив размера N. Найти два соседних элемента мас-
сива, сумма которых наиболее близка к числу R, и вывести эти элементы
в порядке возрастания их индексов (то есть такой элемент Ак ,для которого величина │Ак-R│является минимальной).
Array43. Дан целочисленный массив размера N, все элементы которого упоря-
дочены (по возрастанию или по убыванию). Найти количество различных
элементов в данном массиве.
Array44. Дан целочисленный массив размера N, содержащий ровно два оди-
наковых элемента. Найти номера одинаковых элементов и вывести эти
номера в порядке возрастания.
Array45. Дан массив размера N. Найти номера двух ближайших элементов
из этого массива (то есть элементов с наименьшим модулем разности) и
вывести эти номера в порядке возрастания.
Array46. Дано число R и массив размера N. Найти два различных элемента
массива, сумма которых наиболее близка к числу R, и вывести эти эле-
менты в порядке возрастания их индексов (то есть такой элемент Ак ,для которого величина │Ак-R│является минимальной).
Array47◦ . Дан целочисленный массив размера N. Найти количество различных
элементов в данном массиве.
Array48. Дан целочисленный массив размера N. Найти максимальное количе-
ство его одинаковых элементов.
Array49. Дан целочисленный массив размера N. Если он является переста-
новкой, то есть содержит все числа от 1 до N, то вывести 0; в противном
случае вывести номер первого недопустимого элемента.
Array50. Дан целочисленный массив A размера N, являющийся перестановкой
(то есть содержит все числа от 1 до N ). Найти количество
инверсий в данной перестановке, то есть таких пар элементов AIи AJ, в
которых большее число находится слева от меньшего: AI> AJ при I < J.
54
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6