Найти наибольший и наименьший элементы в заштрихованной части матрицы - Free Pascal (50)
Формулировка задачи:
Дано натуральное число n. Сформировать произвольную матрицу размерностью n*n. Даны натуральные числа K,L. Найти наибольший и наименьший элемент заштрихованной части.
Решение задачи: «Найти наибольший и наименьший элементы в заштрихованной части матрицы»
textual
Листинг программы
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
n,i,j,k,l,mn,mx:integer;
begin
clrscr;
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]:=random(50);
write(a[i,j]:3);
end;
writeln;
end;
repeat
write('Введите k от 1 до ',n,' k=');
readln(k);
until k in [1..n];
repeat
write('Введите l от 1 до ',n,' l=');
readln(l);
until k in [1..n];
mn:=a[k,l];
mx:=a[k,l];
if(k<n)or(l<n) then
begin
for i:=k to n do
for j:=l to n do
if a[i,j]<mn then mn:=a[i,j]
else if a[i,j]>mx then mx:=a[i,j];
end;
writeln('Минимальный элемент=',mn);
writeln('Максимальный элемент=',mx);
readln
end.
Объяснение кода листинга программы
- Объявлены переменные:
- a: массив размером n на n для хранения элементов
- n: размер матрицы
- i, j, k, l: индексы для обхода матрицы и поиска минимального и максимального элементов
- mn, mx: для хранения минимального и максимального элементов
- Задается размер матрицы от 2 до nmax и выводится исходная матрица.
- Пользователю предлагается ввести k и l для определения диапазона поиска минимального и максимального элементов.
- Если k и l заданы корректно, то инициализируются переменные mn и mx значением элемента a[k,l].
- С помощью двух вложенных циклов перебираются элементы матрицы от k до n и от l до n. Если элемент a[i,j] меньше mn, то обновляется значение mn, иначе если элемент больше mx, то обновляется значение mx.
- Выводятся значения mn и mx, которые являются минимальным и максимальным элементами соответственно.
- Программа ожидает ввода с клавиатуры для подтверждения работы программы.