Дана матрица, найти максимальный элемент, среди положительных элементов матрицы А - Free Pascal
Формулировка задачи:
Дана матрица А(5,5)
1.Найти новый одномерный массив С из произведений элементов каждой строки матрицы А.
2.Найти максимальный элемент , среди положительных элементов матрицы А.
3.Заменить третий элемент в 1 строке матрицы А на найденный максимальный элемент.
Как решить задачу?Прошу помощи!
Решение задачи: «Дана матрица, найти максимальный элемент, среди положительных элементов матрицы А»
textual
Листинг программы
Const n=5; Type Mas=array[1..n,1..n] of integer; var a: mas; i,j,max: integer; BEGIN randomize; max:=a[1,1]; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(n*n)-n*n div 2; write(a[i,j]:4); if (max<a[i,j]) AND (a[i,j]>0) then max:=a[i,j]; end; writeln; end; if max<=0 then writeln('В массиве нет положительных элементов.') else Writeln('max= ',max); a[1,3]:=max; writeln('Преобразованный массив.'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; readln; END.
Объяснение кода листинга программы
- Объявляются константы и переменные: — n = 5 (размерность матрицы) — Mas = array[1..n,1..n] of integer (тип матрицы) — a = var mas (объявление переменной для хранения матрицы) — i, j, max = var integer (объявление переменных для циклов и хранения максимального элемента)
- Выполняется инициализация генератора случайных чисел: randomize;
- Инициализируется переменная max значением первого элемента первой строки матрицы: max := a[1,1];
- Два вложенных цикла заполняют матрицу случайными числами: for i := 1 to n do for j := 1 to n do a[i,j] := random(nn)-nn div 2;
- Выполняется проверка на положительность элемента и обновление max при необходимости: for i := 1 to n do for j := 1 to n do write(a[i,j]:4); writeln; if (max < a[i,j]) AND (a[i,j] > 0) then max := a[i,j];
- Выводится сообщение о наличии положительных элементов в матрице: if max <= 0 then writeln('В массиве нет положительных элементов.'); else Writeln('max= ',max);
- Максимальный элемент копируется в первую ячейку третьей строки матрицы: a[1,3] := max;
- Выводится преобразованный матрица: for i := 1 to n do for j := 1 to n do write(a[i,j]:4); writeln;
- Запрашивается ввод для завершения работы программы: readln;
- Код заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д