Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

English

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

Задания | Группы заданий | Array

PrevNext


Одномерные массивы

Условие вида «дан массив размера N» означает, что вначале дается фактический размер массива (целое число N), а затем приводятся все его элементы. Если в задании явно не указывается, какие значения может принимать размер исходного массива, то предполагается, что размер может изменяться в пределах от 2 до 10. С элементами массивов связываются их порядковые номера, начинающиеся с 1.

Если в задании, связанном с созданием (преобразованием) массива, не описан результирующий набор данных, то предполагается, что этим набором является созданный (преобразованный) массив, и необходимо вывести все его элементы в порядке возрастания их индексов.

Начиная с версии 4.19, в задачник входят два варианта данной группы. Новый вариант, с именем ZArray, отличается от исходного тем, что в нем с элементами массивов связываются не порядковые номера, начинающиеся с 1, а индексы, начинающиеся с 0 (префикс Z в имени группы можно интерпретировать как «zero-indexed»). Группу ZArray удобно использовать для языков, в которых элементы массивов и других коллекций всегда индексируются от 0. В группе ZArray, по сравнению с группой Array, были изменены задания со следующими номерами: 11–15, 19–23, 26–33, 44–45, 49, 55–57, 72–73, 90–91, 93–94, 101–102, 104–107, 115, 121–124. В некоторых заданиях были откорректированы лишь формулировки; при этом наборы исходных и результирующих данных не изменились: 5–6, 16–18, 58–61, 65, 69, 79–87, 112, 114, 131–140.

Одномерные массивы: формирование

При выполнении заданий на формирование массива можно считать, что размер результирующего массива не превосходит 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, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.

Одномерные массивы: вывод элементов

Array7°. Дан массив размера N. Вывести его элементы в обратном порядке.

Array8. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество K.

Array9. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество K.

Array10. Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов.

Array11. Дан массив A размера N и целое число K (1 ≤ K ≤ N). Вывести элементы массива с порядковыми номерами, кратными K: AK, AK, AK, … . Условный оператор не использовать.

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,    … .

Одномерные массивы: анализ элементов

Для выполнения некоторых заданий, связанных с анализом элементов массива, не требуется одновременно хранить в памяти все исходные данные, поэтому использовать при их выполнении массивы, строго говоря, не нужно. Однако применение массивов позволяет сделать алгоритмы решения этих заданий более простыми и наглядными. Задания из данного пункта можно дополнить заданиями из групп «Последовательности» и «Минимумы и максимумы», рассматривая их как задания на обработку массивов. С другой стороны, для тех заданий данной группы, которые можно выполнить, не используя массивы, полезно реализовать и такие алгоритмы решения.

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, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию (см. задание Array3). Если образуют, то вывести разность прогрессии, если нет — вывести 0.

Array25. Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию с целочисленным знаменателем (см. задание Array4). Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0.

Array26. Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.

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. Найти максимальный из его локальных минимумов (определение локального минимума дано в задании Array32).

Array35. Дан массив размера N. Найти минимальный из его локальных максимумов (определение локального максимума дано в задании Array33).

Array36. Дан массив размера N. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом (определения локального минимума и локального максимума даны в заданиях Array32 и Array33). Если таких элементов в массиве нет, то вывести 0 (как вещественное число).

Array37. Дан массив размера N. Найти количество участков, на которых его элементы возрастают.

Array38. Дан массив размера N. Найти количество участков, на которых его элементы убывают.

Array39. Дан массив размера N. Найти количество его промежутков монотонности (т. е. участков, на которых его элементы возрастают или убывают).

Array40. Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (т. е. такой элемент AK, для которого величина |AK − R| является минимальной).

Array41. Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов.

Array42. Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).

Array43. Дан целочисленный массив размера N, все элементы которого упорядочены (по возрастанию или по убыванию). Найти количество различных элементов в данном массиве.

Array44. Дан целочисленный массив размера N, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номера в порядке возрастания.

Array45. Дан массив размера N. Найти номера двух ближайших элементов из этого массива (т. е. элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.

Array46. Дано число R и массив размера N. Найти два различных элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).

Array47°. Дан целочисленный массив размера N. Найти количество различных элементов в данном массиве.

Array48. Дан целочисленный массив размера N. Найти максимальное количество его одинаковых элементов.

Array49. Дан целочисленный массив размера N. Если он является перестановкой, т. е. содержит все числа от 1 до N, то вывести 0; в противном случае вывести номер первого недопустимого элемента.

Array50. Дан целочисленный массив A размера N, являющийся перестановкой (определение перестановки дано в задании Array49). Найти количество инверсий в данной перестановке, т. е. таких пар элементов AI и AJ, в которых большее число находится слева от меньшего: AI > AJ при I < J.

Работа с несколькими одномерными массивами

Array51. Даны массивы A и B одинакового размера N. Поменять местами их содержимое и вывести вначале элементы преобразованного массива A, а затем — элементы преобразованного массива B.

Array52. Дан массив A размера N. Сформировать новый массив B того же размера, элементы которого определяются следующим образом:

BK = AK,если AK < 5,
  AK/2в противном случае.

Array53. Даны два массива A и B одинакового размера N. Сформировать новый массив C того же размера, каждый элемент которого равен максимальному из элементов массивов A и B с тем же индексом.

Array54°. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B все четные числа из исходного массива (в том же порядке) и вывести размер полученного массива B и его содержимое.

Array55. Дан целочисленный массив A размера N (≤ 15). Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами (1, 3, …) и вывести размер полученного массива B и его содержимое. Условный оператор не использовать.

Array56. Дан целочисленный массив A размера N (≤ 15). Переписать в новый целочисленный массив B все элементы с порядковыми номерами, кратными трем (3, 6, …), и вывести размер полученного массива B и его содержимое. Условный оператор не использовать.

Array57. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными:

A2,    A4,    A6,    …,    A1,    A3,    A5,    … .

Условный оператор не использовать.

Array58. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от 1 до K.

Array59. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от 1 до K.

Array60. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N.

Array61. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от K до N.

Array62. Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные элементы массива A, в массив C — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива B, а затем — размер и содержимое массива C.

Array63°. Даны два массива A и B размера 5, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив C (размера 10) остался упорядоченным по возрастанию.

Array64. Даны три целочисленных массива A, B и C размера NA, NB, NC соответственно, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера NA + NB + NC) остался упорядоченным по убыванию.

Одномерные массивы: преобразование

При выполнении заданий на преобразование массива не следует использовать вспомогательные массивы.

Array65. Дан массив A размера N и целое число K (1 ≤ K ≤ N). Преобразовать массив, увеличив каждый его элемент на исходное значение элемента AK.

Array66. Дан целочисленный массив размера N. Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа. Если четные числа в массиве отсутствуют, то оставить массив без изменений.

Array67. Дан целочисленный массив размера N. Увеличить все нечетные числа, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.

Array68. Дан массив размера N. Поменять местами его минимальный и максимальный элементы.

Array69. Дан массив размера N (N — четное число). Поменять местами его первый элемент со вторым, третий — с четвертым и т. д.

Array70. Дан массив размера N (N — четное число). Поменять местами первую и вторую половины массива.

Array71°. Дан массив размера N. Поменять порядок его элементов на обратный.

Array72. Дан массив A размера N и целые числа K и L (1 ≤ K < L ≤ N). Переставить в обратном порядке элементы массива, расположенные между элементами AK и AL, включая эти элементы.

Array73. Дан массив A размера N и целые числа K и L (1 ≤ K < L ≤ N). Переставить в обратном порядке элементы массива, расположенные между элементами AK и AL, не включая эти элементы.

Array74. Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами (не включая минимальный и максимальный элементы).

Array75. Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами, включая минимальный и максимальный элементы.

Array76. Дан массив размера N. Обнулить все его локальные максимумы (т. е. числа, большие своих соседей).

Array77. Дан массив размера N. Возвести в квадрат все его локальные минимумы (т. е. числа, меньшие своих соседей).

Array78. Дан массив размера N. Заменить каждый элемент массива на среднее арифметическое этого элемента и его соседей.

Array79°. Дан массив размера N. Осуществить сдвиг элементов массива вправо на одну позицию (при этом A1 перейдет в A2, A2 — в A3, …, AN−1 — в AN, a исходное значение последнего элемента будет потеряно). Первый элемент полученного массива положить равным 0.

Array80. Дан массив размера N. Осуществить сдвиг элементов массива влево на одну позицию (при этом AN перейдет в AN−1, AN−1 — в AN−2, …, A2 — в A1, a исходное значение первого элемента будет потеряно). Последний элемент полученного массива положить равным 0.

Array81. Дан массив размера N и целое число K (1 ≤ K < N). Осуществить сдвиг элементов массива вправо на K позиций (при этом A1 перейдет в AK+1, A2 — в AK+2, …, ANK — в AN, а исходное значение K последних элементов будет потеряно). Первые K элементов полученного массива положить равными 0.

Array82. Дан массив размера N и целое число K (1 ≤ K < N). Осуществить сдвиг элементов массива влево на K позиций (при этом AN перейдет в ANK, AN−1 — в ANK−1, …, AK+1 — в A1, а исходное значение K первых элементов будет потеряно). Последние K элементов полученного массива положить равными 0.

Array83. Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию (при этом A1 перейдет в A2, A2 — в A3, …, AN — в A1).

Array84. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом AN перейдет в AN−1, AN−1 — в AN−2, …, A1 — в AN).

Array85. Дан массив A размера N и целое число K (1 ≤ K ≤ 4, K < N). Осуществить циклический сдвиг элементов массива вправо на K позиций (при этом A1 перейдет в AK+1, A2 — в AK+2, …, AN — в AK). Допускается использовать вспомогательный массив из 4 элементов.

Array86. Дан массив A размера N и целое число K (1 ≤ K ≤ 4, K < N). Осуществить циклический сдвиг элементов массива влево на K позиций (при этом AN перейдет в ANK, AN−1 — в ANK−1, …, A1 — в ANK+1). Допускается использовать вспомогательный массив из 4 элементов.

Array87. Дан массив размера N, все элементы которого, кроме первого, упорядочены по возрастанию. Сделать массив упорядоченным, переместив первый элемент на новую позицию.

Array88. Дан массив размера N, все элементы которого, кроме последнего, упорядочены по возрастанию. Сделать массив упорядоченным, переместив последний элемент на новую позицию.

Array89°. Дан массив размера N, все элементы которого, кроме одного, упорядочены по убыванию. Сделать массив упорядоченным, переместив элемент, нарушающий упорядоченность, на новую позицию.

Array90. Дан массив размера N и целое число K (1 ≤ K ≤ N). Удалить из массива элемент с порядковым номером K.

Array91. Дан массив размера N и целые числа K и L (1 ≤ K < L ≤ N). Удалить из массива элементы с номерами от K до L включительно и вывести размер полученного массива и его содержимое.

Array92°. Дан целочисленный массив размера N. Удалить из массива все нечетные числа и вывести размер полученного массива и его содержимое.

Array93. Дан целочисленный массив размера N (> 2). Удалить из массива все элементы с четными номерами (2, 4, …). Условный оператор не использовать.

Array94. Дан целочисленный массив размера N (> 2). Удалить из массива все элементы с нечетными номерами (1, 3, …). Условный оператор не использовать.

Array95. Дан целочисленный массив размера N. Удалить из массива все соседние одинаковые элементы, оставив их первые вхождения.

Array96. Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.

Array97. Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их последние вхождения.

Array98. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся менее трех раз, и вывести размер полученного массива и его содержимое.

Array99. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся более двух раз, и вывести размер полученного массива и его содержимое.

Array100. Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно два раза, и вывести размер полученного массива и его содержимое.

Array101. Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением.

Array102. Дан массив размера N и целое число K (1 ≤ K ≤ N). После элемента массива с порядковым номером K вставить новый элемент с нулевым значением.

Array103. Дан массив размера N. Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива.

Array104. Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями.

Array105. Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). После элемента массива с номером K вставить M новых элементов с нулевыми значениями.

Array106. Дан массив размера N. Продублировать в нем элементы с четными номерами (2, 4, …). Условный оператор в цикле не использовать.

Array107. Дан массив размера N. Утроить в нем вхождения всех элементов с нечетными номерами (1, 3, …). Условный оператор в цикле не использовать.

Array108°. Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым значением.

Array109. Дан массив размера N. После каждого отрицательного элемента массива вставить элемент с нулевым значением.

Array110. Дан целочисленный массив размера N. Продублировать в нем все четные числа.

Array111. Дан целочисленный массив размера N. Утроить в нем вхождения всех нечетных чисел.

Array112°. Дан массив A размера N (≤ 6). Упорядочить его по возрастанию методом сортировки простым обменом («пузырьковой» сортировкой): просматривать массив, сравнивая его соседние элементы (A1 и A2, A2 и A3 и т. д.) и меняя их местами, если левый элемент пары больше правого; повторить описанные действия N − 1 раз. Для контроля за выполняемыми действиями выводить содержимое массива после каждого просмотра. Учесть, что при каждом просмотре количество анализируемых пар можно уменьшить на 1.

Array113. Дан массив A размера N (≤ 6). Упорядочить его по возрастанию методом сортировки простым выбором: найти максимальный элемент массива и поменять его местами с последним (N-м) элементом; выполнить описанные действия N − 1 раз, каждый раз уменьшая на 1 количество анализируемых элементов и выводя содержимое массива.

Array114. Дан массив A размера N (≤ 6). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить элементы A1 и A2 и, при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу A3 и переместить его в левую (уже упорядоченную) часть массива, сохранив ее упорядоченность; повторить этот процесс для остальных элементов, выводя содержимое массива после обработки каждого элемента (от 2-го до N-го). При выполнении описанных действий удобно использовать прием «барьера», записывая очередной элемент перед его обработкой в дополнительный элемент массива A0.

Array115. Дан массив A размера N. Не изменяя данный массив, вывести номера его элементов в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность. Использовать метод «пузырьковой» сортировки (см. задание Array112), модифицировав его следующим образом: создать вспомогательный целочисленный массив номеров I, заполнив его числами от 1 до N; просматривать массив A, сравнивая пары элементов массива A с номерами I1 и I2, I2 и I3, … и меняя местами соответствующие элементы массива I, если левый элемент пары больше правого. Повторив описанную процедуру просмотра N − 1 раз, получим в массиве I требуемую последовательность номеров.

Одномерные массивы: серии целых чисел

Array116°. Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Сформировать два новых целочисленных массива B и C одинакового размера, записав в массив B длины всех серий исходного массива, а в массив C — значения элементов, образующих эти серии.

Array117. Дан целочисленный массив размера N. Вставить перед каждой его серией элемент с нулевым значением (определение серии дано в задании Array116).

Array118. Дан целочисленный массив размера N. Вставить после каждой его серии элемент с нулевым значением (определение серии дано в задании Array116).

Array119. Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую его серию на один элемент (определение серии дано в задании Array116).

Array120. Дан целочисленный массив размера N, содержащий по крайней мере одну серию, длина которой больше 1. Преобразовать массив, уменьшив каждую его серию на один элемент (определение серии дано в задании Array116).

Array121. Дано целое число K (> 0) и целочисленный массив размера N. Преобразовать массив, удвоив длину его серии с номером K (определение серии дано в задании Array116). Если серий в массиве меньше K, то вывести массив без изменений.

Array122. Дано целое число K (> 1) и целочисленный массив размера N. Удалить из массива серию с номером K (определение серии дано в задании Array116). Если серий в массиве меньше K, то вывести массив без изменений.

Array123. Дано целое число K (> 1) и целочисленный массив размера N. Поменять местами первую серию массива и его серию с номером K (определение серии дано в задании Array116). Если серий в массиве меньше K, то вывести массив без изменений.

Array124. Дано целое число K (> 0) и целочисленный массив размера N. Поменять местами последнюю серию массива и его серию с номером K (определение серии дано в задании Array116). Если серий в массиве меньше K, то вывести массив без изменений.

Array125. Дано целое число L (> 1) и целочисленный массив размера N. Заменить каждую серию массива, длина которой меньше L, на один элемент с нулевым значением (определение серии дано в задании Array116).

Array126. Дано целое число L (> 0) и целочисленный массив размера N. Заменить каждую серию массива, длина которой равна L, на один элемент с нулевым значением (определение серии дано в задании Array116).

Array127. Дано целое число L (> 0) и целочисленный массив размера N. Заменить каждую серию массива, длина которой больше L, на один элемент с нулевым значением (определение серии дано в задании Array116).

Array128. Дан целочисленный массив размера N. Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент (определение серии дано в задании Array116).

Array129. Дан целочисленный массив размера N. Преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент (определение серии дано в задании Array116).

Array130. Дан целочисленный массив размера N. Преобразовать массив, увеличив все его серии наибольшей длины на один элемент (определение серии дано в задании Array116).

Одномерные массивы: множества точек на плоскости

Для хранения данных о каждом наборе точек следует использовать по два массива: первый массив для хранения абсцисс, второй — для хранения ординат. Можно также использовать массив записей с двумя полями.

Array131. Дано множество A из N точек на плоскости и точка B (точки заданы своими координатами xy). Найти точку из множества A, наиболее близкую к точке B. Расстояние R между точками с координатами (x1y1) и (x2y2) вычисляется по формуле:

R = ((x2 − x1)2 + (y2 − y1)2)1/2.

Array132. Дано множество A из N точек (точки заданы своими координатами xy). Среди всех точек этого множества, лежащих во второй четверти, найти точку, наиболее удаленную от начала координат. Если таких точек нет, то вывести точку с нулевыми координатами.

Array133. Дано множество A из N точек (точки заданы своими координатами xy). Среди всех точек этого множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат. Если таких точек нет, то вывести точку с нулевыми координатами.

Array134°. Дано множество A из N точек (точки заданы своими координатами xy). Найти пару точек этого множества с максимальным расстоянием между ними и само это расстояние (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

Array135. Даны множества A и B, состоящие соответственно из N1 и N2 точек (точки заданы своими координатами xy). Найти минимальное расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии (вначале выводится точка из множества A, затем точка из множества B).

Array136. Дано множество A из N точек (N > 2, точки заданы своими координатами xy). Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек минимальна, и саму эту сумму.

Array137. Дано множество A из N точек (N > 2, точки заданы своими координатами xy). Найти наибольший периметр треугольника, вершины которого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

Array138. Дано множество A из N точек (N > 2, точки заданы своими координатами xy). Найти наименьший периметр треугольника, вершины которого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

Array139. Дано множество A из N точек с целочисленными координатами xy. Порядок на координатной плоскости определим следующим образом:

(x1y1) < (x2y2),    если либо x1 < x2, либо x1 = x2 и y1 < y2.

Расположить точки данного множества по возрастанию в соответствии с указанным порядком.

Array140. Дано множество A из N точек с целочисленными координатами xy. Порядок на координатной плоскости определим следующим образом:

(x1y1) < (x2y2),    если либо x1 + y1 < x2 + y2, либо x1 + y1 = x2 + y2 и x1 < x2.

Расположить точки данного множества по убыванию в соответствии с указанным порядком.


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2024