Найти максимальный элемент на главной диагонали матрицы и на побочной - Free Pascal
Формулировка задачи:
Помогите исправить код, чтобы программа находила максимальный элемент на главной диагонале матрицы и на побочной.
Листинг программы
- Var
- a: array [1..99,1..99] of integer;
- m,n,i,j,max,p,c: integer;
- b: array [1..99] of integer;
- Begin
- Randomize;
- write('m = ');
- readln(m);
- write('n = ');
- readln(n);
- writeln('Ishodnyi massiv:');
- for i:=1 to m do
- begin
- for j:=1 to n do
- begin
- a[i,j]:=random(100);
- write(a[i,j]:4);
- end;
- writeln;
- end;
- for i:=1 to m do
- begin
- b[i]:=a[i,i];
- for j:=2 to m do
- begin
- if (b[i] < a[j,j]) then
- begin
- b[i]:=a[j,j];
- max:=b[i];
- end
- end;
- if (i=1) then
- max:=b[i];
- end;
- writeln(max:4);
- p:=1;
- for i:=m downto 1 do
- begin
- b[i]:=a[i,p];
- for j:=m downto 2 do
- begin
- if (b[i] < a[i-1,p+1]) then
- begin
- b[i]:=a[i-1,p+1];
- max:=b[i];
- end
- end;
- if (i=m) then
- begin
- max:=b[i];
- end;
- p:=p+1;
- end;
- write(max:4);
- End.
Решение задачи: «Найти максимальный элемент на главной диагонали матрицы и на побочной»
textual
Листинг программы
- var a: array [1..20,1..20] of integer;
- n,i,j,maxg,maxp: integer;
- begin
- randomize;
- write('n = ');
- readln(n);
- writeln('Ishodnyi massiv:');
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- a[i,j]:=random(100);
- write(a[i,j]:4);
- end;
- writeln;
- end;
- maxg:=a[1,1];
- maxp:=a[1,n];
- for i:=1 to n do
- begin
- if a[i,i]>maxg then maxg:=a[i,i];
- if a[i,n-i+1]>maxp then maxp:=a[i,n-i+1];
- end;
- writeln('max gl.diagonali=',maxg);
- writeln('max pb.diagonali=',maxp);
- readln
- end.
Объяснение кода листинга программы
- Объявлены переменные:
- a: двумерный массив (20x20) целых чисел;
- n: количество заполненных элементов массива;
- i, j: индексы для обхода массива;
- maxg, maxp: для хранения максимальных значений главной и побочной диагоналей соответственно.
- Задается количество заполненных элементов массива (n).
- Заполняется массив случайными целыми числами от 0 до 99.
- Выводится заполненный массив.
- Инициализируются переменные maxg и maxp первым элементом главной и побочной диагоналей соответственно.
- Происходит обход массива по диагонали, сравнивая текущий элемент с текущим maxg и maxp и обновляя их при необходимости.
- Выводятся значения maxg и maxp.
- Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д