Условие вида «дан массив размера 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
Если вы хотите выложить решение для задач, но нет решения на нужном языке, или вообще к задаче нет решений. Можете разместить его в виде комментария к данной статье.
Другие задачи по программированию, для проверки своих знаний.
Комментарии: