В каждом столбце матрицы найти наибольшее значение и сформировать одномерный массив из найденных значений - Free Pascal
Формулировка задачи:
Дана вещественная матрица X размера 6×8. В каждом столбце найти наибольшее значение и сформировать одномерный массив из найденных значений.
Решение задачи: «В каждом столбце матрицы найти наибольшее значение и сформировать одномерный массив из найденных значений»
textual
Листинг программы
uses crt; const n=6; m=8; type Matrix=array[1..n,1..m] of real; Mas=array[1..m] of real; var X:Matrix; A:Mas; i,j:byte; max:real; begin clrscr; randomize; for i:=1 to n do for j:=1 to m do X[i,j]:=10*random-3; for j:=1 to m do begin max:=0; for i:=1 to n do if max<X[i,j] then Max:=X[i,j]; A[j]:=Max; end; for i:=1 to n do begin for j:=1 to m do write(X[i,j]:7:2); writeln; end; writeln; for i:=1 to m do write(A[i]:7:2); readln; end.
Объяснение кода листинга программы
- Объявлены переменные:
- X - двумерный массив (матрица) типа Matrix, размерностью n на m, заполненный случайными значениями;
- A - одномерный массив (массив) типа Mas, инициализированный нулями;
- i, j - индексы для обхода матрицы и массива;
- max - переменная для хранения наибольшего значения.
- Задаются константы:
- n - количество строк в матрице;
- m - количество столбцов в матрице.
- В цикле перебираются все строки матрицы X:
- В каждой строке находится максимальное значение в соответствующем столбце;
- Это максимальное значение сохраняется в переменной max;
- Если это максимальное значение больше текущего значения в массиве A, то оно заменяет текущее значение в массиве A.
- В цикле перебираются все столбцы матрицы X:
- Выводятся значения всех элементов строки;
- Выводится символ новой строки;
- Выводятся значения всех элементов столбца;
- Выводится символ новой строки.
- Выводятся значения всех элементов массива A.
- Программа ожидает ввода пользователя для подтверждения правильности выполнения задачи.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д