М.Э. Абрамян - Programming Taskbook (1157415), страница 13
Текст из файла (страница 13)
Упорядочить его по возрастаниюметодом сортировки простыми вставками: сравнить элементы A1 и A2 и,при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу A3 ипереместить его в левую (уже упорядоченную) часть массива, сохранивее упорядоченность; повторить этот процесс для остальных элементов,выводя содержимое массива после обработки каждого элемента (от 2го до N-го). При выполнении описанных действий удобно использовать60М.
Э. Абрамян. Электронный задачник Programming Taskbook 4.6прием «барьера», записывая очередной элемент перед его обработкой вдополнительный элемент массива A0 .Array115. Дан массив A размера N. Не изменяя данный массив, вывести номера его элементов в том порядке, в котором соответствующие им элементыобразуют возрастающую последовательность. Использовать метод «пузырьковой» сортировки (см. задание Array112), модифицировав его следующим образом: создать вспомогательный целочисленный массив номеров I, заполнив его числами от 1 до N; просматривать массив A, сравниваяпары элементов массива A с номерами I 1 и I 2 , I 2 и I 3 , . . .
и меняя местамисоответствующие элементы массива 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, тоОдномерные массивы61вывести массив без изменений.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).Множества точек на плоскостиДля хранения данных о каждом наборе точек следует использовать по двамассива: первый массив для хранения абсцисс, второй — для хранения ординат. Можно также использовать массив записей с двумя полями (см.
задание62М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6Param64).Array131. Дано множество A из N точек на плоскости и точка B (точки заданы своими координатами x, y). Найти точку из множества A, наиболееблизкую к точке B. Расстояние R между точками с координатами (x1 , y1 )и (x2 , y2 ) вычисляется по формуле:qR = (x2 − x1 )2 + (y2 − y1 )2 .Array132. Дано множество A из N точек (точки заданы своими координатамиx, y). Среди всех точек этого множества, лежащих во второй четверти,найти точку, наиболее удаленную от начала координат.
Если таких точекнет, то вывести точку с нулевыми координатами.Array133. Дано множество A из N точек (точки заданы своими координатамиx, y). Среди всех точек этого множества, лежащих в первой или третьейчетверти, найти точку, наиболее близкую к началу координат. Если такихточек нет, то вывести точку с нулевыми координатами.Array134◦ . Дано множество A из N точек (точки заданы своими координатами x, y). Найти пару точек этого множества с максимальным расстояниеммежду ними и само это расстояние (точки выводятся в том же порядке, вкотором они перечислены при задании множества A).Array135. Даны множества A и B, состоящие соответственно из N 1 и N 2 точек(точки заданы своими координатами x, y).
Найти минимальное расстояниемежду точками этих множеств и сами точки, расположенные на этомрасстоянии (вначале выводится точка из множества A, затем точка измножества B).Array136. Дано множество A из N точек (N > 2, точки заданы своими координатами x, y). Найти такую точку из данного множества, сумма расстоянийот которой до остальных его точек минимальна, и саму эту сумму.Array137. Дано множество A из N точек (N > 2, точки заданы своими координатами x, y). Найти наибольший периметр треугольника, вершиныкоторого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены призадании множества A).Array138.
Дано множество A из N точек (N > 2, точки заданы своими координатами x, y). Найти наименьший периметр треугольника, вершиныкоторого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены призадании множества A).Двумерные массивы (матрицы)63Array139. Дано множество A из N точек с целочисленными координатами x, y.Порядок на координатной плоскости определим следующим образом:(x1 , y1 ) < (x2 , y2 ), если либо x1 < x2 , либо x1 = x2 и y1 < y2 .Расположить точки данного множества по возрастанию в соответствии суказанным порядком.Array140.
Дано множество A из N точек с целочисленными координатами x, y.Порядок на координатной плоскости определим следующим образом:(x1 , y1 ) < (x2 , y2 ), если либо x1 + y1 < x2 + y2 , либо x1 + y1 = x2 + y2 иx1 < x2 .Расположить точки данного множества по убыванию в соответствии суказанным порядком.Двумерные массивы (матрицы)Условие вида «дана матрица размера M × N» означает, что вначале даетсяфактический размер двумерного массива-матрицы (количество строк M и количество столбцов N), а затем приводятся элементы этого массива (количествоэлементов равно M·N). Если в задании явно не указывается, какие значениямогут принимать размеры исходной матрицы, то предполагается, что и числострок, и число столбцов может изменяться в пределах от 2 до 10.
Начальныезначения как первого, так и второго индекса двумерного массива-матрицы всегда считаются равными 1. Ввод и вывод элементов матрицы осуществляютсяпо строкам.Квадратной матрицей порядка M называется двумерный массив-матрицаразмера M × M.Если в задании, связанном с созданием или преобразованием матрицы, неописан результирующий набор данных, то предполагается, что этим наборомявляется созданная (преобразованная) матрица, и необходимо вывести все ееэлементы.Формирование матрицы и вывод ее элементовВ заданиях на формирование матрицы предполагается, что размер результирующей матрицы не превосходит 10 × 10.64М. Э.
Абрамян. Электронный задачник Programming Taskbook 4.6Matrix1. Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M × N, у которой все элементы I-й строки имеютзначение 10·I (I = 1, . . ., M).Matrix2. Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M × N, у которой все элементы J -го столбцаимеют значение 5·J (J = 1, . . ., N).Matrix3. Даны целые положительные числа M, N и набор из M чисел. Сформировать матрицу размера M × N, у которой в каждом столбце содержатсявсе числа из исходного набора (в том же порядке).Matrix4. Даны целые положительные числа M, N и набор из N чисел.
Сформировать матрицу размера M × N, у которой в каждой строке содержатсявсе числа из исходного набора (в том же порядке).Matrix5. Даны целые положительные числа M, N, число D и набор из M чисел. Сформировать матрицу размера M × N, у которой первый столбецсовпадает с исходным набором чисел, а элементы каждого следующегостолбца равны сумме соответствующего элемента предыдущего столбцаи числа D (в результате каждая строка матрицы будет содержать элементыарифметической прогрессии).Matrix6. Даны целые положительные числа M, N, число D и набор из N чисел.Сформировать матрицу размера M × N, у которой первая строка совпадает с исходным набором чисел, а элементы каждой следующей строкиравны соответствующему элементу предыдущей строки, умноженномуна D (в результате каждый столбец матрицы будет содержать элементыгеометрической прогрессии).Matrix7◦ .