Найти наибольшее из значений элементов матрицы, расположенных в закрашенной области - Pascal ABC
Формулировка задачи:
Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов, расположенных в закрашенной области.
Решение задачи: «Найти наибольшее из значений элементов матрицы, расположенных в закрашенной области»
textual
Листинг программы
const nmax=10;
var a:array[1..nmax,1..nmax] of real;
n,i,j:integer;
mx:real;
begin
randomize;
repeat
write('Размер матрицы от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=9*random;
if (j>=n-i+1)and(j>=i)then textcolor(12)
else textcolor(1);
write(a[i,j]:5:2);
end;
writeln;
end;
mx:=a[1,n];
for i:=1 to n do
for j:=1 to n do
if (j>=n-i+1)and(j>=i) then
if a[i,j]>mx then mx:=a[i,j];
write('Max=',mx:0:2);
end.
Объяснение кода листинга программы
- Переменная
nmaxинициализируется значением 10. - Создается массив
aтипаarray[1..nmax,1..nmax] of real, который будет представлять собой матрицу размером от 2 доnmaxна 10 строк. - Задаются три переменные
i,jиmxтипаintegerиrealсоответственно. - Используется функция
randomizeдля инициализации генератора случайных чисел. - Запускается цикл
repeat, который будет выполняться до тех пор, пока размер матрицы не будет в пределах от 2 доnmax. - Внутри цикла выводится запрос на ввод размера матрицы.
- После получения размера матрицы выводится сообщение об исходной матрице.
- Запускается вложенный цикл
for, который будет выполняться для каждой строки матрицы. - Внутри вложенного цикла вычисляется значение элемента матрицы
a[i,j]. - Выводится значение элемента матрицы
a[i,j]с помощью функцииwrite. - Выводится символ новой строки с помощью функции
writeln. - Проверяется условие
if (j>=n-i+1)and(j>=i). Если оно истинно, то цвет текста меняется на 12. - Проверяется условие
if a[i,j]>mx then mx:=a[i,j]. Если оно истинно, то значение переменнойmxобновляется. - После окончания вложенного цикла выводится сообщение о максимальном значении в матрице.