Дана матрица, найти максимальный элемент, среди положительных элементов матрицы А - 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;
- Код заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д