Условие вида «дан массив размера $$N$$» означает, что вначале дается фактический размер массива (целое число $$N$$), а затем приводятся все его элементы. Если в задании явно не указывается, какие значения может принимать размер исходного массива, то предполагается, что размер может изменяться в пределах от $$2$$ до $$10$$. Порядковый номер начального элемента массива считается равным $$1$$.
Если в задании, связанном с созданием (преобразованием) массива, не описан результирующий набор данных, то предполагается, что этим набором является созданный (преобразованный) массив, и необходимо вывести все его элементы в порядке возрастания их индексов.
Формирование массива и вывод его элементов
В заданиях на формирование массива предполагается, что размер результирующего массива не превосходит $$10$$.
Array1. Дано целое число $$N (\gt 0)$$. Сформировать и вывести целочисленный массив размера $$N$$, содержащий $$N$$ первых положительных нечетных чисел: $$1, 3, 5, …$$ .
Решение задачи, на языке: Паскаль, C, Кумир
Array2. Дано целое число $$N (\gt 0)$$. Сформировать и вывести целочисленный массив размера $$N$$, содержащий степени двойки от первой до $$N$$-й: $$2, 4, 8, 16, … $$.
Решение задачи, на языке: Паскаль, C
Array3. Дано целое число $$N (\gt 1)$$, а также первый член $$A$$ и разность $$D$$ арифметической прогрессии. Сформировать и вывести массив размера $$N$$, содержащий $$N$$ первых членов данной прогрессии:
$$A, A + D, A + 2*D, A + 3*D, …$$ .
Решение задачи, на языке: Паскаль, C, Кумир, Phyton 3
Array4. Дано целое число $$N (\gt 1)$$, а также первый член $$A$$ и знаменатель $$D$$ геометрической прогрессии. Сформировать и вывести массив размера $$N$$, содержащий $$N$$ первых членов данной прогрессии:
$$A, A*D, A*D^2, A*D^3, …$$ .
Решение задачи, на языке: Паскаль, C, С++
Array5. Дано целое число $$N (\gt 2)$$. Сформировать и вывести целочисленный массив размера $$N$$, содержащий $$N$$ первых элементов последовательности чисел Фибоначчи
$$F_K: F_1 = 1,F_2 = 1,F_K = F_{K-2} + F_{K-1}, K = 3, 4, …$$ .
Решение задачи, на языке: Паскаль, C
Array6. Даны целые числа $$N (\gt 2)$$, $$A$$ и $$B$$. Сформировать и вывести целочисленный массив размера $$N$$, первый элемент которого равен $$A$$, второй равен $$B$$, а каждый последующий элемент равен сумме всех предыдущих.
Решение задачи, на языке: Паскаль, C
Array7. Дан массив размера $$N$$. Вывести его элементы в обратном порядке.
Решение задачи, на языке: Паскаль, C, Кумир
Array8. Дан целочисленный массив размера $$N$$. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество $$K$$.
Решение задачи, на языке: Паскаль, C, С++, Кумир
Array9. Дан целочисленный массив размера $$N$$. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество $$K$$.
Решение задачи, на языке: Паскаль, C, Кумир
Array10. Дан целочисленный массив размера $$N$$. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов.
Решение задачи, на языке: Паскаль, C
Array11. Дан массив $$A$$ размера $$N$$ и целое число $$K (1 \leq K \leq N)$$. Вывести элементы массива с порядковыми номерами, кратными $$K: A_K, A_{2*K}, A_{3*K}, …$$ . Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array12. Дан массив $$A$$ размера $$N$$ ($$N$$ — четное число). Вывести его элементы с четными номерами в порядке возрастания номеров: $$A_2, A_4, A_6, …, A_N$$. Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C, С++, Кумир
Array13. Дан массив $$A$$ размера $$N$$ ($$N$$ — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров: $$A_N, A_{N-2}, A_{N-4}, …, A_1.$$ Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C, Кумир, Phyton 3
Array14. Дан массив $$A$$ размера $$N$$. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными номерами (также в порядке возрастания номеров): $$A_2, A_4, A_6, …, A_1, A_3, A_5, …$$ . Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C, Кумир
Array15. Дан массив $$A$$ размера $$N$$. Вывести вначале его элементы с нечетными номерами в порядке возрастания номеров, а затем — элементы с четными номерами в порядке убывания номеров. $$A_1, A_3, A_5, …, A_6, A_4, A_2$$. Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array16. Дан массив $$A$$ размера $$N$$. Вывести его элементы в следующем порядке: $$A_1, A_N, A_2, A_{N-1}, A_3, A_{N-2}, …$$ .
Решение задачи, на языке: Паскаль, C
Array17. Дан массив $$A$$ размера $$N$$. Вывести его элементы в следующем порядке: $$A_1, A_2, A_N, A_{N-1}, A_3, A_4, A_{N-2}, A_{N-3}, …$$ .
Решение задачи, на языке: Паскаль, C
Анализ элементов массива
Для выполнения некоторых заданий из данного пункта не требуется одновременно хранить в памяти все исходные данные, поэтому использовать при их выполнении массивы, строго говоря, не нужно. Однако применение массивов позволяет сделать алгоритмы решения этих заданий более простыми и наглядными. Задания из данного пункта можно дополнить заданиями из групп Series и Minmax, рассматривая их как задания на обработку массивов. С другой стороны, для тех заданий данного пункта, которые можно выполнить, не используя массивы, полезно реализовать и такие алгоритмы решения.
Array18. Дан массив $$A$$ ненулевых целых чисел размера $$10$$. Вывести значение первого из тех его элементов $$A_K$$, которые удовлетворяют неравенству $$A_K \lt A_{10}$$. Если таких элементов нет, то вывести $$0$$.
Решение задачи, на языке: Паскаль, C, Кумир
Array19. Дан целочисленный массив $$A$$ размера $$10$$. Вывести порядковый номер последнего из тех его элементов $$A_K$$, которые удовлетворяют двойному неравенству $$A_1 \lt A_K \lt A_{10}$$. Если таких элементов нет, то вывести $$0$$.
Решение задачи, на языке: Паскаль, C, С++
Array20. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \leq K \leq L \leq N$$). Найти сумму элементов массива с номерами от $$K$$ до $$L$$ включительно.
Решение задачи, на языке: Паскаль, C, Кумир
Array21. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \leq K \leq L \leq N$$). Найти среднее арифметическое элементов массива с номерами от $$K$$ до $$L$$ включительно.
Решение задачи, на языке: Паскаль, C
Array22. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \lt K \leq L \leq N$$). Найти сумму всех элементов массива, кроме элементов с номерами от $$K$$ до $$L$$ включительно.
Решение задачи, на языке: Паскаль, C
Array23. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \lt K \leq L \leq N$$). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от $$K$$ до $$L$$ включительно.
Решение задачи, на языке: Паскаль, C, Python 3
Array24. Дан целочисленный массив размера $$N$$, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию (см. задание Array3). Если образуют, то вывести разность прогрессии, если нет — вывести $$0$$.
Решение задачи, на языке: Паскаль, C
Array25. Дан массив ненулевых целых чисел размера $$N$$. Проверить, образуют ли его элементы геометрическую прогрессию (см. задание Array4). Если образуют, то вывести знаменатель прогрессии, если нет — вывести $$0$$.
Решение задачи, на языке: Паскаль, C
Array26. Дан целочисленный массив размера $$N$$. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести $$0$$, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.
Решение задачи, на языке: Паскаль, C
Array27. Дан массив ненулевых целых чисел размера $$N$$. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести $$0$$, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.
Решение задачи, на языке: Паскаль, C, Phyton 3
Array28. Дан массив $$A$$ размера $$N$$. Найти минимальный элемент из его элементов с четными номерами: $$A_2, A_4, A_6, …$$ .
Решение задачи, на языке: Паскаль, C, С++, Кумир
Array29. Дан массив $$A$$ размера $$N$$. Найти максимальный элемент из его элементов с нечетными номерами: $$A_1, A_3, A_5, …$$ .
Решение задачи, на языке: Паскаль, C
Array30. Дан массив размера $$N$$. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в порядке их возрастания.
Решение задачи, на языке: Паскаль, C
Array31. Дан массив размера $$N$$. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания.
Решение задачи, на языке: Паскаль, C
Array32. Дан массив размера $$N$$. Найти номер его первого локального минимума (локальный минимум — это элемент, который меньше любого из своих соседей).
Решение задачи, на языке: Паскаль, C, Кумир
Array33. Дан массив размера $$N$$. Найти номер его последнего локального максимума (локальный максимум — это элемент, который больше любого из своих соседей).
Решение задачи, на языке: Паскаль, C
Array34. Дан массив размера $$N$$. Найти максимальный из его локальных минимумов (определение локального минимума дано в задании Array32).
Решение задачи, на языке: Паскаль, C
Array35. Дан массив размера $$N$$. Найти минимальный из его локальных максимумов (определение локального максимума дано в задании Array33).
Решение задачи, на языке: Паскаль, C
Array36. Дан массив размера $$N$$. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом (определения локального минимума и локального максимума даны в заданиях Array32 и Array33). Если таких элементов в массиве нет, то вывести $$0$$.
Решение задачи, на языке: Паскаль, C
Array37. Дан массив размера $$N$$. Найти количество участков, на которых его элементы монотонно возрастают.
Решение задачи, на языке: Паскаль, C
Array38. Дан массив размера $$N$$. Найти количество участков, на которых его элементы монотонно убывают.
Решение задачи, на языке: Паскаль, C, Кумир
Array39. Дан массив размера $$N$$. Найти количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).
Решение задачи, на языке: Паскаль, C, С++
Array40. Дано число $$R$$ и массив $$A$$ размера $$N$$. Найти элемент массива, который наиболее близок к числу $$R$$ (то есть такой элемент $$A_K$$, для которого величина $$|A_K — R|$$ является минимальной).
Решение задачи, на языке: Паскаль, C
Array41. Дан массив размера $$N$$. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов.
Решение задачи, на языке: Паскаль, C
Array42. Дано число $$R$$ и массив размера $$N$$. Найти два соседних элемента массива, сумма которых наиболее близка к числу $$R$$, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).
Решение задачи, на языке: Паскаль, C, С++, Кумир
Array43. Дан целочисленный массив размера $$N$$, все элементы которого упорядочены (по возрастанию или по убыванию). Найти количество различных элементов в данном массиве.
Решение задачи, на языке: Паскаль, C
Array44. Дан целочисленный массив размера $$N$$, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номера в порядке возрастания.
Решение задачи, на языке: Паскаль, C
Array45. Дан массив размера $$N$$. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.
Решение задачи, на языке: Паскаль, C
Array46. Дано число $$R$$ и массив размера $$N$$. Найти два различных элемента массива, сумма которых наиболее близка к числу $$R$$, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).
Решение задачи, на языке: Паскаль, C
Array47. Дан целочисленный массив размера $$N$$. Найти количество различных элементов в данном массиве.
Решение задачи, на языке: Паскаль, C
Array48. Дан целочисленный массив размера $$N$$. Найти максимальное количество его одинаковых элементов.
Решение задачи, на языке: Паскаль, C
Array49. Дан целочисленный массив размера $$N$$. Если он является перестановкой, то есть содержит все числа от $$1$$ до $$N$$, то вывести $$0$$; в противном случае вывести номер первого недопустимого элемента.
Решение задачи, на языке: Паскаль, C
Array50. Дан целочисленный массив $$A$$ размера $$N$$, являющийся перестановкой (определение перестановки дано в задании Array49). Найти количество инверсий в данной перестановке, то есть таких пар элементов $$A_I$$ и $$A_J$$, в которых большее число находится слева от меньшего: $$A_I \gt A_J$$ при $$I \lt J$$.
Решение задачи, на языке: Паскаль, C
Работа с несколькими массивами
Array51. Даны массивы $$A$$ и $$B$$ одинакового размера $$N$$. Поменять местами их содержимое и вывести вначале элементы преобразованного массива $$A$$, а затем — элементы преобразованного массива $$B$$.
Решение задачи, на языке: Паскаль, C
Array52. Дан массив $$A$$ размера $$N$$. Сформировать новый массив B того же размера, элементы которого определяются следующим образом:
$$B_K =\begin{cases}2*A_K, \text { if } A_K \lt 5,\\A_K/2, \text{ else }\end{cases}$$.
Решение задачи, на языке: Паскаль, C
Array53. Даны два массива $$A$$ и $$B$$ одинакового размера $$N$$. Сформировать новый массив $$C$$ того же размера, каждый элемент которого равен максимальному из элементов массивов $$A$$ и $$B$$ с тем же индексом.
Решение задачи, на языке: Паскаль, C
Array54. Дан целочисленный массив $$A$$ размера $$N$$. Переписать в новый целочисленный массив $$B$$ все четные числа из исходного массива (в том же порядке) и вывести размер полученного массива $$B$$ и его содержимое.
Решение задачи, на языке: Паскаль, C
Array55. Дан целочисленный массив $$A$$ размера $$N (\leq 15)$$. Переписать в новый целочисленный массив $$B$$ все элементы с нечетными порядковыми номерами ($$1, 3, …$$) и вывести размер полученного массива $$B$$ и его содержимое. Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array56. Дан целочисленный массив $$A$$ размера $$N (\leq 15)$$. Переписать в новый целочисленный массив $$B$$ все элементы с порядковыми номерами, кратными трем ($$3, 6, …$$), и вывести размер полученного массива $$B$$ и его содержимое. Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array57. Дан целочисленный массив $$A$$ размера $$N$$. Переписать в новый целочисленный массив $$B$$ того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными: $$A_2, A_4, A_6, …, A_1, A_3, A_5, …$$ . Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array58. Дан массив $$A$$ размера $$N$$. Сформировать новый массив $$B$$ того же размера по следующему правилу: элемент $$B_K$$ равен сумме элементов массива $$A$$ с номерами от $$1$$ до $$K$$.
Решение задачи, на языке: Паскаль, C
Array59. Дан массив $$A$$ размера $$N$$. Сформировать новый массив $$B$$ того же размера по следующему правилу: элемент $$B_K$$ равен среднему арифметическому элементов массива $$A$$ с номерами от $$1$$ до $$K$$.
Решение задачи, на языке: Паскаль, C
Array60. Дан массив $$A$$ размера $$N$$. Сформировать новый массив $$B$$ того же размера по следующему правилу: элемент $$B_K$$ равен сумме элементов массива $$A$$ с номерами от $$K$$ до $$N$$.
Решение задачи, на языке: Паскаль, C
Array61. Дан массив $$A$$ размера $$N$$. Сформировать новый массив $$B$$ того же размера по следующему правилу: элемент $$B_K$$ равен среднему арифметическому элементов массива $$A$$ с номерами от $$K$$ до $$N$$.
Решение задачи, на языке: Паскаль, C
Array62. Дан массив $$A$$ размера $$N$$. Сформировать два новых массива $$B$$ и $$C$$: в массив $$B$$ записать все положительные элементы массива $$A$$, в массив $$C$$ — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива $$B$$, а затем — размер и содержимое массива $$C$$.
Решение задачи, на языке: Паскаль, C
Array63. Даны два массива $$A$$ и $$B$$ размера $$5$$, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив $$C$$ (размера $$10$$) остался упорядоченным по возрастанию.
Решение задачи, на языке: Паскаль, C
Array64. Даны три целочисленных массива $$A$$, $$B$$ и $$C$$ размера $$N_A$$, $$N_B$$, $$N_C$$ соответственно, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий целочисленный массив $$D$$ (размера $$N_A + N_B + N_C$$) остался упорядоченным по убыванию.
Решение задачи, на языке: Паскаль, C
Преобразование массива
При выполнении заданий из данного пункта не следует использовать вспомогательные массивы.
Изменение элементов массива
Array65. Дан массив $$A$$ размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq N$$). Преобразовать массив, увеличив каждый его элемент на исходное значение элемента $$A_K$$.
Решение задачи, на языке: Паскаль, C
Array66. Дан целочисленный массив размера $$N$$. Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа. Если четные числа в массиве отсутствуют, то оставить массив без изменений.
Решение задачи, на языке: Паскаль, C
Array67. Дан целочисленный массив размера $$N$$. Увеличить все нечетные числа, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.
Решение задачи, на языке: Паскаль, C
Array68. Дан массив размера $$N$$. Поменять местами его минимальный и максимальный элементы.
Решение задачи, на языке: Паскаль, C
Array69. Дан массив размера $$N$$ ($$N$$ — четное число). Поменять местами его первый элемент со вторым, третий — с четвертым и т. д.
Решение задачи, на языке: Паскаль, C
Array70. Дан массив размера $$N$$ ($$N$$ — четное число). Поменять местами первую и вторую половины массива.
Решение задачи, на языке: Паскаль, C
Array71. Дан массив размера $$N$$. Поменять порядок его элементов на обратный.
Решение задачи, на языке: Паскаль, C
Array72. Дан массив $$A$$ размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \leq K \lt L \leq N$$). Переставить в обратном порядке элементы массива, расположенные между элементами $$A_K$$ и $$A_L$$, включая эти элементы.
Решение задачи, на языке: Паскаль, C
Array73. Дан массив $$A$$ размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \leq K \lt L \leq N$$). Переставить в обратном порядке элементы массива, расположенные между элементами $$A_K$$ и $$A_L$$, не включая эти элементы.
Решение задачи, на языке: Паскаль, C
Array74. Дан массив размера $$N$$. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами (не включая минимальный и максимальный элементы).
Решение задачи, на языке: Паскаль, C
Array75. Дан массив размера $$N$$. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами, включая минимальный и максимальный элементы.
Решение задачи, на языке: Паскаль, C
Array76. Дан массив размера $$N$$. Обнулить все его локальные максимумы (то есть числа, большие своих соседей).
Решение задачи, на языке: Паскаль, C
Array77. Дан массив размера $$N$$. Возвести в квадрат все его локальные минимумы (то есть числа, меньшие своих соседей).
Решение задачи, на языке: Паскаль, C
Array78. Дан массив размера $$N$$. Заменить каждый элемент массива на среднее арифметическое этого элемента и его соседей.
Решение задачи, на языке: Паскаль, C
Array79. Дан массив размера $$N$$. Осуществить сдвиг элементов массива вправо на одну позицию (при этом $$A_1$$ перейдет в $$A_2$$, $$A_2$$ — в $$A_3$$, $$…$$, $$A_{N–1}$$ — в $$A_N$$, a исходное значение последнего элемента будет потеряно). Первый элемент полученного массива положить равным $$0$$.
Решение задачи, на языке: Паскаль, C
Array80. Дан массив размера $$N$$. Осуществить сдвиг элементов массива влево на одну позицию (при этом $$A_N$$ перейдет в $$A_{N-1}$$, $$A_{N-1}$$ — в $$A_{N-2}$$, $$…$$, $$A_2$$ — в $$A_1$$, a исходное значение первого элемента будет потеряно). Последний элемент полученного массива положить равным $$0$$.
Решение задачи, на языке: Паскаль, C
Array81. Дан массив размера $$N$$ и целое число $$K$$ ($$1 \leq K \lt N$$). Осуществить сдвиг элементов массива вправо на $$K$$ позиций (при этом $$A_1$$ перейдет в $$A_{K+1}$$, $$A_2$$ — в $$A_{K+2}$$, $$…$$, $$A_{N-K}$$ — в $$A_N$$, а исходное значение $$K$$ последних элементов будет потеряно). Первые $$K$$ элементов полученного массива положить равными $$0$$.
Решение задачи, на языке: Паскаль, C
Array82. Дан массив размера $$N$$ и целое число $$K$$ ($$1 \leq K \lt N$$). Осуществить сдвиг элементов массива влево на $$K$$ позиций (при этом $$A_N$$ перейдет в $$A_{N-K}$$, $$A_{N-1}$$ — в $$A_{N-K-1}$$, $$…$$, $$A_{K+1}$$ — в $$A_1$$, а исходное значение $$K$$ первых элементов будет потеряно). Последние $$K$$ элементов полученного массива положить равными $$0$$.
Решение задачи, на языке: Паскаль, C
Array83. Дан массив размера $$N$$. Осуществить циклический сдвиг элементов массива вправо на одну позицию (при этом $$A_1$$ перейдет в $$A_2$$, $$A_2$$ — в $$A_3$$, …, $$A_N$$ — в $$A_1$$).
Решение задачи, на языке: Паскаль, C
Array84. Дан массив размера $$N$$. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом $$A_N$$ перейдет в $$A_{N-1}$$, $$A_{N-1}$$ — в $$A_{N-2}$$, $$…$$, $$A_1$$ — в $$A_N$$).
Решение задачи, на языке: Паскаль, C
Array85. Дан массив $$A$$ размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq 4, K \lt N$$). Осуществить циклический сдвиг элементов массива вправо на $$K$$ позиций (при этом $$A_1$$ перейдет в $$A_{K+1}$$, $$A_2$$ — в $$A_{K+2}$$, $$…$$, $$A_N$$ — в $$A_K$$). Допускается использовать вспомогательный массив из $$4$$ элементов.
Решение задачи, на языке: Паскаль, C
Array86. Дан массив $$A$$ размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq 4, K \lt N$$). Осуществить циклический сдвиг элементов массива влево на $$K$$ позиций (при этом $$A_N$$ перейдет в $$A_N-K$$, $$A_N-1$$ — в $$A_{N-K-1}$$, $$…$$, $$A_1$$ — в $$A_{N-K+1}$$). Допускается использовать вспомогательный массив из $$4$$ элементов.
Решение задачи, на языке: Паскаль, C
Array87. Дан массив размера $$N$$, все элементы которого, кроме первого, упорядочены по возрастанию. Сделать массив упорядоченным, переместив первый элемент на новую позицию.
Решение задачи, на языке: Паскаль, C
Array88. Дан массив размера $$N$$, все элементы которого, кроме последнего, упорядочены по возрастанию. Сделать массив упорядоченным, переместив последний элемент на новую позицию.
Решение задачи, на языке: Паскаль, C, Visual Basic
Array89. Дан массив размера $$N$$, все элементы которого, кроме одного, упорядочены по убыванию. Сделать массив упорядоченным, переместив элемент, нарушающий упорядоченность, на новую позицию.
Решение задачи, на языке: Паскаль, C
Удаление и вставка элементов
Array90. Дан массив размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq N$$). Удалить из массива элемент с порядковым номером $$K$$.
Решение задачи, на языке: Паскаль, C
Array91. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \leq K \lt L \leq N$$). Удалить из массива элементы с номерами от $$K$$ до $$L$$ включительно и вывести размер полученного массива и его содержимое.
Решение задачи, на языке: Паскаль, C
Array92. Дан целочисленный массив размера $$N$$. Удалить из массива все нечетные числа и вывести размер полученного массива и его содержимое.
Решение задачи, на языке: Паскаль, C
Array93. Дан целочисленный массив размера $$N (\gt 2)$$. Удалить из массива все элементы с четными номерами ($$2, 4, …$$). Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array94. Дан целочисленный массив размера $$N (\gt 2)$$. Удалить из массива все элементы с нечетными номерами ($$1, 3, …$$). Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array95. Дан целочисленный массив размера $$N$$. Удалить из массива все соседние одинаковые элементы, оставив их первые вхождения.
Решение задачи, на языке: Паскаль, C
Array96. Дан целочисленный массив размера $$N$$. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Решение задачи, на языке: Паскаль, C
Array97. Дан целочисленный массив размера $$N$$. Удалить из массива все одинаковые элементы, оставив их последние вхождения.
Решение задачи, на языке: Паскаль, C
Array98. Дан целочисленный массив размера $$N$$. Удалить из массива все элементы, встречающиеся менее трех раз, и вывести размер полученного массива и его содержимое.
Решение задачи, на языке: Паскаль, C
Array99. Дан целочисленный массив размера $$N$$. Удалить из массива все элементы, встречающиеся более двух раз, и вывести размер полученного массива и его содержимое.
Решение задачи, на языке: Паскаль, C
Array100. Дан целочисленный массив размера $$N$$. Удалить из массива все элементы, встречающиеся ровно два раза, и вывести размер полученного массива и его содержимое.
Решение задачи, на языке: Паскаль, C
Array101. Дан массив размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq N$$). Перед элементом массива с порядковым номером $$K$$ вставить новый элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array102. Дан массив размера $$N$$ и целое число $$K$$ ($$1 \leq K \leq N$$). После элемента массива с порядковым номером $$K$$ вставить новый элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array103. Дан массив размера $$N$$. Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива.
Решение задачи, на языке: Паскаль, C
Array104. Дан массив размера $$N$$ и два целых числа $$K$$ и $$M$$ ($$1 \leq K \leq N, 1 \leq M \leq 10$$). Перед элементом массива с номером $$K$$ вставить $$M$$ новых элементов с нулевыми значениями.
Решение задачи, на языке: Паскаль, C
Array105. Дан массив размера $$N$$ и два целых числа $$K$$ и $$M$$ ($$1 \leq K \leq N, 1 \leq M \leq 10$$). После элемента массива с номером $$K$$ вставить $$M$$ новых элементов с нулевыми значениями.
Решение задачи, на языке: Паскаль, C
Array106. Дан массив размера $$N$$. Продублировать в нем элементы с четными номерами ($$2, 4, …$$). Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array107. Дан массив размера $$N$$. Утроить в нем вхождения всех элементов с нечетными номерами ($$1, 3, …$$). Условный оператор не использовать.
Решение задачи, на языке: Паскаль, C
Array108. Дан массив размера $$N$$. Перед каждым положительным элементом массива вставить элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array109. Дан массив размера $$N$$. После каждого отрицательного элемента массива вставить элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array110. Дан целочисленный массив размера $$N$$. Продублировать в нем все четные числа.
Решение задачи, на языке: Паскаль, C
Array111. Дан целочисленный массив размера $$N$$. Утроить в нем вхождения всех нечетных чисел.
Решение задачи, на языке: Паскаль, C
Сортировка массива
Array112. Дан массив $$A$$ размера $$N$$ ($$\leq 6$$). Упорядочить его по возрастанию методом сортировки простым обменом («пузырьковой» сортировкой): просматривать массив, сравнивая его соседние элементы ($$A_1$$ и $$A_2$$, $$A_2$$ и $$A_3$$ и т. д.) и меняя их местами, если левый элемент пары больше правого; повторить описанные действия $$N-1$$ раз. Для контроля за выполняемыми действиями выводить содержимое массива после каждого просмотра. Учесть, что при каждом просмотре количество анализируемых пар можно уменьшить на $$1$$.
Решение задачи, на языке: Паскаль, C
Array113. Дан массив $$A$$ размера $$N$$ ($$\leq 6$$). Упорядочить его по возрастанию методом сортировки простым выбором: найти максимальный элемент массива и поменять его местами с последним ($$N$$-м) элементом; выполнить описанные действия $$N-1$$ раз, каждый раз уменьшая на $$1$$ количество анализируемых элементов и выводя содержимое массива.
Решение задачи, на языке: Паскаль, C
Array114. Дан массив $$A$$ размера $$N$$ ($$\leq 6$$). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить элементы $$A_1$$ и $$A_2$$ и, при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу $$A_3$$ и переместить его в левую (уже упорядоченную) часть массива, сохранив ее упорядоченность; повторить этот процесс для остальных элементов, выводя содержимое массива после обработки каждого элемента (от $$2$$-го до $$N$$-го). При выполнении описанных действий удобно использовать прием «барьера», записывая очередной элемент перед его обработкой в дополнительный элемент массива $$A_0$$.
Решение задачи, на языке: Паскаль, C
Array115. Дан массив $$A$$ размера $$N$$. Не изменяя данный массив, вывести номера его элементов в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность. Использовать метод «пузырьковой» сортировки (см. задание Array112), модифицировав его следующим образом: создать вспомогательный целочисленный массив номеров $$I$$, заполнив его числами от $$1$$ до $$N$$; просматривать массив $$A$$, сравнивая пары элементов массива $$A$$ с номерами $$I_1$$ и $$I_2$$, $$I_2$$ и $$I_3$$, … и меняя местами соответствующие элементы массива $$I$$, если левый элемент пары больше правого. Повторив описанную процедуру просмотра $$N — 1$$ раз, получим в массиве I требуемую последовательность номеров.
Решение задачи, на языке: Паскаль, C
Серии целых чисел
Array116. Дан целочисленный массив $$A$$ размера $$N$$. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна $$1$$). Сформировать два новых целочисленных массива $$B$$ и $$C$$ одинакового размера, записав в массив $$B$$ длины всех серий исходного массива, а в массив $$C$$ — значения элементов, образующих эти серии.
Решение задачи, на языке: Паскаль, C
Array117. Дан целочисленный массив размера $$N$$. Вставить перед каждой его серией элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array118. Дан целочисленный массив размера $$N$$. Вставить после каждой его серии элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array119. Дан целочисленный массив размера $$N$$. Преобразовать массив, увеличив каждую его серию на один элемент.
Решение задачи, на языке: Паскаль, C
Array120. Дан целочисленный массив размера $$N$$, содержащий по крайней мере одну серию, длина которой больше $$1$$. Преобразовать массив, уменьшив каждую его серию на один элемент.
Решение задачи, на языке: Паскаль, C
Array121. Дано целое число $$K$$ $$(\gt 0)$$ и целочисленный массив размера $$N$$. Преобразовать массив, удвоив длину его серии с номером $$K$$. Если серий в массиве меньше $$K$$, то вывести массив без изменений.
Решение задачи, на языке: Паскаль, C
Array122. Дано целое число $$K (\gt 1)$$ и целочисленный массив размера $$N$$. Удалить из массива серию с номером $$K$$. Если серий в массиве меньше $$K$$, то вывести массив без изменений.
Решение задачи, на языке: Паскаль, C
Array123. Дано целое число $$K (\gt 1)$$ и целочисленный массив размера $$N$$. Поменять местами первую серию массива и его серию с номером $$K$$. Если серий в массиве меньше $$K$$, то вывести массив без изменений.
Решение задачи, на языке: Паскаль, C
Array124. Дано целое число $$K (\gt 0)$$ и целочисленный массив размера $$N$$. Поменять местами последнюю серию массива и его серию с номером $$K$$. Если серий в массиве меньше $$K$$, то вывести массив без изменений.
Решение задачи, на языке: Паскаль, C
Array125. Дано целое число $$L (\gt 1)$$ и целочисленный массив размера $$N$$. Заменить каждую серию массива, длина которой меньше $$L$$, на один элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array126. Дано целое число $$L (\gt 0)$$ и целочисленный массив размера $$N$$. Заменить каждую серию массива, длина которой равна $$L$$, на один элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array127. Дано целое число $$L (\gt 0)$$ и целочисленный массив размера $$N$$. Заменить каждую серию массива, длина которой больше $$L$$, на один элемент с нулевым значением.
Решение задачи, на языке: Паскаль, C
Array128. Дан целочисленный массив размера $$N$$. Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент.
Решение задачи, на языке: Паскаль, C
Array129. Дан целочисленный массив размера $$N$$. Преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент.
Решение задачи, на языке: Паскаль, C
Array130. Дан целочисленный массив размера $$N$$. Преобразовать массив, увеличив все его серии наибольшей длины на один элемент.
Решение задачи, на языке: Паскаль, C
Множества точек на плоскости
Для хранения данных о каждом наборе точек следует использовать по два массива: первый массив для хранения абсцисс, второй — для хранения ординат. Можно также использовать массив записей с двумя полями (см. задание Param64).
Array131. Дано множество $$A$$ из $$N$$ точек на плоскости и точка $$B$$ (точки заданы своими координатами $$x$$, $$y$$). Найти точку из множества $$A$$, наиболее близ кую к точке $$B$$. Расстояние $$R$$ между точками с координатами $$(x_1, y_1)$$ и $$(x_2, y_2)$$ вычисляется по формуле: $$R =\sqrt{ ( x_2 — x_1 )^2 + ( y_2 — y_1 )^2}$$.
Решение задачи, на языке: Паскаль, C
Array132. Дано множество $$A$$ из $$N$$ точек (точки заданы своими координатами $$x$$, $$y$$). Среди всех точек этого множества, лежащих во второй четверти, найти точку, наиболее удаленную от начала координат. Если таких точек нет, то вывести точку с нулевыми координатами.
Решение задачи, на языке: Паскаль, C
Array133. Дано множество $$A$$ из $$N$$ точек (точки заданы своими координатами $$x$$, $$y$$). Среди всех точек этого множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат. Если таких точек нет, то вывести точку с нулевыми координатами.
Решение задачи, на языке: Паскаль, C
Array134. Дано множество $$A$$ из $$N$$ точек (точки заданы своими координатами $$x$$, $$y$$). Найти пару различных точек этого множества с максимальным расстоянием между ними и само это расстояние (точки выводятся в том же порядке, в котором они перечислены при задании множества $$A$$).
Решение задачи, на языке: Паскаль, C
Array135. Даны множества $$A$$ и $$B$$, состоящие соответственно из $$N_1$$ и $$N_2$$ точек (точки заданы своими координатами $$x$$, $$y$$). Найти минимальное расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии (вначале выводится точка из множества $$A$$, затем точка из множества $$B$$).
Решение задачи, на языке: Паскаль, C
Array136. Дано множество $$A$$ из $$N$$ точек ($$N \gt 2$$, точки заданы своими координатами $$x$$, $$y$$). Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек минимальна, и саму эту сумму.
Решение задачи, на языке: Паскаль, C
Array137. Дано множество $$A$$ из $$N$$ точек ($$N \gt 2$$, точки заданы своими координатами $$x$$, $$y$$). Найти наибольший периметр треугольника, вершины которого принадлежат различным точкам множества $$A$$, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества $$A$$).
Решение задачи, на языке: Паскаль, C
Array138. Дано множество $$A$$ из $$N$$ точек ($$N \gt 2$$), точки заданы своими координатами $$x$$, $$y$$). Найти наименьший периметр треугольника, вершины которого принадлежат различным точкам множества $$A$$, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества $$A$$).
Решение задачи, на языке: Паскаль, C
Array139. Дано множество $$A$$ из $$N$$ точек с целочисленными координатами $$x$$, $$y$$. Порядок на координатной плоскости определим следующим образом: $$(x_1, y_1) \lt (x_2, y_2)$$, если либо $$x_1 \lt x_2$$, либо $$x_1 = x_2$$ и $$y_1 \lt y_2$$. Расположить точки данного множества по возрастанию в соответствии с указанным порядком.
Решение задачи, на языке: Паскаль, C
Array140. Дано множество $$A$$ из $$N$$ точек с целочисленными координатами x, y. Порядок на координатной плоскости определим следующим образом: $$(x_1, y_1) \lt (x_2, y_2)$$, если либо $$x_1 + y_1 \lt x_2 + y_2$$, либо $$x_1 + y_1 = x_2 + y_2$$ и $$x_1 \lt x_2$$. Расположить точки данного множества по убыванию в соответствии с указанным порядком.
Решение задачи, на языке: Паскаль, C
Если вы хотите выложить решение для задач, но нет решения на нужном языке, или вообще к задаче нет решений. Можете разместить его в виде комментария к данной статье.
Другие задачи по программированию, для проверки своих знаний.
Комментарии: