В квадратной матрице X найти максимальный диагональный элемент - Pascal ABC
Формулировка задачи:
Помогите написать программу
В квадратной матрице X найти максимальный диагональный элемент и вывести всю строку, в которой он расположен.
Решение задачи: «В квадратной матрице X найти максимальный диагональный элемент»
textual
Листинг программы
const
nx = 5;
var
z:array[1..nx,1..nx] of integer;
i, j, k, max: integer;
begin
writeln(' Исходный массив:');
for i:=1 to nx do
begin
for j:=1 to nx do
begin
z[i,j]:=random(18) - 9;
write(z[i,j]:3);
end;
writeln;
end;
max:=z[1,1];
k:=1;
for i:=1 to nx do
begin
if z[i,i] > max then
begin
max:= z[i,i];
k:=i;
end;
if z[i,nx-i+1] > max then
begin
max:= z[i,nx-i+1];
k:=i;
end;
end;
writeln('Максимальный диагональный элемент: ',max);
writeln('Строка с максимальным диагональным элементом:');
for i:=1 to nx do
write(z[k,i]:3);
writeln;
end.
Объяснение кода листинга программы
- Создается константа nx, которая определяет размерность квадратной матрицы.
- Создается переменная z, которая представляет собой матрицу размером nx x nx.
- Создаются три переменные: i, j и k. Первая две переменные используются для внутреннего цикла, а третья переменная используется для отслеживания индекса строки с максимальным диагональным элементом.
- Выводится сообщение
Исходный массив:, за которым следует цикл, выполняющийся nx раз. Внутри цикла выводится каждый элемент матрицы z. - После завершения внутреннего цикла вычисляется максимальное значение, которое сохраняется в переменной max.
- Задается начальное значение k равным 1.
- Запускается внешний цикл, который выполняется nx раз. Внутри цикла проверяется условие: если текущий элемент матрицы z имеет большее значение, чем max, то max обновляется, а k обновляется на текущее значение i.
- После завершения внешнего цикла выводится сообщение
Максимальный диагональный элемент:, за которым следует значение max. - Выводится сообщение
Строка с максимальным диагональным элементом:, за которым следует цикл, выполняющийся nx раз. Внутри цикла выводится каждый элемент строки, соответствующей значению k. - Цикл завершается, и программа завершается.