М.Э. Абрамян - Programming Taskbook (1157415), страница 21
Текст из файла (страница 21)
Массив A является входным и выходным параметром. С помощью этой процедуры инвертировать массивы A, B, C размера N A , N B , N C соответственно.Param5. Описать процедуру Smooth1(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: элемент AK заменяется на среднее арифметическое первых K исходных элементов массива A. Массив A является входным и выходным параметром. С помощьюэтой процедуры выполнить пятикратное сглаживание данного массива Aразмера N, выводя результаты каждого сглаживания.Param6. Описать процедуру Smooth2(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: элемент A1 не изменяется, элемент AK (K = 2, . .
., N) заменяется на полусумму исходныхэлементов AK−1 и AK . Массив A является входным и выходным параметром. С помощью этой процедуры выполнить пятикратное сглаживаниеданного массива A размера N, выводя результаты каждого сглаживания.Составные типы данных в процедурах и функциях99Param7. Описать процедуру Smooth3(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: каждый элементмассива заменяется на его среднее арифметическое с соседними элементами (при вычислении среднего арифметического используются исходныезначения соседних элементов). Массив A является входным и выходнымпараметром.
С помощью этой процедуры выполнить пятикратное сглаживание данного массива A размера N, выводя результаты каждого сглаживания.Param8. Описать процедуру RemoveX(A, N, X ), удаляющую из целочисленного массива A размера N элементы, равные целому числу X. Массив A ичисло N являются входными и выходными параметрами. С помощью этойпроцедуры удалить числа X A , X B , X C из массивов A, B, C размера N A ,N B , N C соответственно и вывести размер и содержимое полученных массивов.Param9. Описать процедуру RemoveForInc(A, N), удаляющую из вещественного массива A размера N «лишние» элементы так, чтобы оставшиесяэлементы оказались упорядоченными по возрастанию: первый элементне удаляется, второй элемент удаляется, если он меньше первого, третий— если он меньше предыдущего элемента, оставленного в массиве, и т.
д.Например, массив 5.5, 2.5, 4.6, 7.2, 5.8, 9.4 должен быть преобразован квиду 5.5, 7.2, 9.4. Массив A и число N являются входными и выходными параметрами. С помощью этой процедуры преобразовать массивы A,B, C размера N A , N B , N C соответственно и вывести размер и содержимоеполученных массивов.Param10. Описать процедуру DoubleX(A, N, X ), дублирующую в целочисленном массиве A размера N элементы, равные целому числу X. Массив Aи число N являются входными и выходными параметрами. С помощьюэтой процедуры продублировать числа X A , X B , X C в массивах A, B, Cразмера N A , N B , N C соответственно и вывести размер и содержимое полученных массивов.Param11.
Описать процедуру SortArray(A, N), выполняющую сортировку повозрастанию вещественного массива A размера N. Массив A являетсявходным и выходным параметром. С помощью этой процедуры отсортировать массивы A, B, C размера N A , N B , N C соответственно.Param12. Описать процедуру SortIndex(A, N, I), формирующую для вещественного массива A размера N индексный массив I — массив целых чисел100М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6того же размера, содержащий номера элементов массива A в том порядке,который соответствует возрастанию элементов массива A (сам массив Aпри этом не изменяется). Индексный массив I является выходным параметром. С помощью этой процедуры создать индексные массивы длямассивов A, B, C размера N A , N B , N C соответственно.Param13. Описать процедуру Hill(A, N), меняющую порядок элементов вещественного массива A размера N на следующий: наименьший элементмассива располагается на первом месте, наименьший из оставшихся элементов — на последнем, следующий по величине располагается на второмместе, следующий — на предпоследнем и т.
д. (в результате график значений элементов будет напоминать холм). Массив A является входным ивыходным параметром. С помощью этой процедуры преобразовать массивы A, B, C размера N A , N B , N C соответственно.Param14. Описать процедуру Split1(A, N A , B, N B , C, N C ), формирующуюпо вещественному массиву A размера N A два вещественных массива Bи C размера N B и N C соответственно; при этом массив B содержит всеэлементы массива A с нечетными порядковыми номерами (1, 3, . .
.), амассив C — все элементы массива A с четными номерами (2, 4, . . .).Массивы B и C и числа N B и N C являются выходными параметрами.Применить эту процедуру к данному массиву A размера N A и вывестиразмер и содержимое полученных массивов B и C.Param15. Описать процедуру Split2(A, N A , B, N B , C, N C ), формирующую поцелочисленному массиву A размера N A два целочисленных массива B и Cразмера N B и N C соответственно; при этом массив B содержит все четныечисла из массива A, а массив C — все нечетные числа (в том же порядке).Массивы B и C и числа N B и N C являются выходными параметрами.Применить эту процедуру к данному массиву A размера N A и вывестиразмер и содержимое полученных массивов B и C.Param16.
Описать процедуру ArrayToMatrRow(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M × N(матрица заполняется элементами массива A по строкам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, тооставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры наоснове данного массива A размера K и целых чисел M и N сформироватьматрицу B размера M × N.Составные типы данных в процедурах и функциях101Param17◦ .
Описать процедуру ArrayToMatrCol(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M × N(матрица заполняется элементами массива A по столбцам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, тооставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры наоснове данного массива A размера K и целых чисел M и N сформироватьматрицу B размера M × N.Param18. Описать процедуру Chessboard(M, N, A), формирующую по целымположительным числам M и N матрицу A размера M × N, которая содержит числа 0 и 1, расположенные в «шахматном» порядке, причем A1,1 = 0.Двумерный целочисленный массив A является выходным параметром.
Спомощью этой процедуры по данным целым числам M и N сформироватьматрицу A размера M × N.Param19. Описать функцию Norm1(A, M, N) вещественного типа, вычисляющую норму вещественной матрицы A размера M × N:Norm1(A, M, N) = max {|A1,J | + |A2,J | + . . . + |AM,J |},где максимум берется по всем J от 1 до N. Для данной матрицы A размераM × N найти Norm1(A, K, N), K = 1, . . ., M.Param20. Описать функцию Norm2(A, M, N) вещественного типа, вычисляющую норму вещественной матрицы A размера M × N:Norm2(A, M, N) = max {|AI,1 | + |AI,2 | + . .
. + |AI,N |},где максимум берется по всем I от 1 до M. Для данной матрицы A размераM × N найти Norm2(A, K, N), K = 1, . . ., M.Param21. Описать функцию SumRow(A, M, N, K) вещественного типа, вычисляющую сумму элементов вещественной матрицы A размера M × N,расположенных в K-й строке (если K > M, то функция возвращает 0). Для данной матрицы A размера M × N и трех данных K найтиSumRow(A, M, N, K).Param22.
Описать функцию SumCol(A, M, N, K) вещественного типа, вычисляющую сумму элементов вещественной матрицы A размера M × N,расположенных в K-м столбце (если K > N, то функция возвращает 0). Для данной матрицы A размера M × N и трех данных K найтиSumCol(A, M, N, K).Param23. Описать процедуру SwapRow(A, M, N, K 1 , K 2 ), осуществляющуюперемену местами строк вещественной матрицы A размера M × N с102М.
Э. Абрамян. Электронный задачник Programming Taskbook 4.6номерами K 1 и K 2 . Матрица A является входным и выходным параметром;если K 1 или K 2 больше M, то матрица не изменяется. Используя этупроцедуру, поменять для данной матрицы A размера M × N строки сданными номерами K 1 и K 2 .Param24. Описать процедуру SwapCol(A, M, N, K 1 , K 2 ), осуществляющуюперемену местами столбцов вещественной матрицы A размера M × N сномерами K 1 и K 2 . Матрица A является входным и выходным параметром; если K 1 или K 2 больше N, то матрица не изменяется. Используя этупроцедуру, поменять для данной матрицы A размера M × N столбцы сданными номерами K 1 и K 2 .Param25.
Описать процедуру Transp(A, M), выполняющую транспонирование(то есть зеркальное отражение относительно главной диагонали) квадратной вещественной матрицы A порядка M. Матрица A является входными выходным параметром. Используя эту процедуру, транспонировать данную матрицу A порядка M.Param26. Описать процедуру RemoveRows(A, M, N, K 1 , K 2 ), удаляющую извещественной матрицы A размера M × N строки с номерами от K 1 до K 2включительно (предполагается, что 1 < K 1 ≤ K 2 ).
Если K 1 > M, то матрицане изменяется; если K 2 > M, то удаляются строки матрицы с номерамиот K 1 до M. Двумерный массив A и числа M, N являются входными ивыходными параметрами. Используя процедуру RemoveRows, удалить изданной матрицы A размера M × N строки с номерами от K 1 до K 2 ивывести размер полученной матрицы и ее элементы.Param27. Описать процедуру RemoveCols(A, M, N, K 1 , K 2 ), удаляющую извещественной матрицы A размера M × N столбцы с номерами от K 1до K 2 включительно (предполагается, что 1 < K 1 ≤ K 2 ). Если K 1 > N,то матрица не изменяется; если K 2 > N, то удаляются столбцы матрицыс номерами от K 1 до N.
Двумерный массив A и числа M, N являютсявходными и выходными параметрами. Используя процедуру RemoveCols,удалить из данной матрицы A размера M × N столбцы с номерами от K 1до K 2 и вывести размер полученной матрицы и ее элементы.Param28. Описать процедуру RemoveRowCol(A, M, N, K, L), удаляющую извещественной матрицы A размера M × N строку и столбец, которыесодержат элемент AK,L (предполагается, что M > 1 и N > 1; если K > Mили L > N, то матрица не изменяется).
Двумерный массив A и числа M, Nявляются входными и выходными параметрами. Дана матрица A размераСоставные типы данных в процедурах и функциях103M × N и числа K, L. Применить к матрице A процедуру RemoveRowColи вывести размер полученной матрицы и ее элементы.Param29. Описать процедуру SortCols(A, M, N), выполняющую сортировку по возрастанию столбцов целочисленной матрицы A размера M × N(столбцы сравниваются лексикографически: если первые элементы столбцов различны, то меньшим считается столбец, содержащий меньший первый элемент; если первые элементы столбцов равны, то анализируются ихвторые элементы и т. д.).