Найти наибольший и наименьший элемент заштрихованной части матрицы - Free Pascal (694)
Формулировка задачи:
Дано натуральное число n. Сформировать произвольную матрицу размерности n*n. Найти Наибольший и наименьший элемент заштрихованной части
Решение задачи: «Найти наибольший и наименьший элемент заштрихованной части матрицы»
textual
Листинг программы
uses crt; const nmax=20; var a:array[1..nmax,1..nmax] of integer; n,i,j,mx,imx,jmx,mn,imn,jmn,k:integer; begin clrscr; randomize; repeat write('Введите размер матрицы от 3 до ',nmax,' n='); readln(n); until n in [3..nmax]; k:=n div 2+1; for i:=1 to n do for j:=1 to n do a[i,j]:=random(100); mx:=a[1,n]; imx:=1; jmx:=n; mn:=a[1,n]; imn:=1; jmn:=n; for i:=1 to n do for j:=k to n do if (j>=i)and(j>=n-i+1)then if a[i,j]>mx then begin mx:=a[i,j]; imx:=i; jmx:=j; end else if a[i,j]<mn then begin mn:=a[i,j]; imn:=i; jmn:=j; end; writeln('Матрица'); for i:=1 to n do begin for j:=1 to n do begin if(i=imx)and(j=jmx)then textcolor(12) else if(i=imn)and(j=jmn)then textcolor(9) else if (j>=i)and(j>=n-i+1)then textcolor(10) else textcolor(15); write(a[i,j]:3); end; writeln; end; textcolor(9); writeln('Минимальный элемет=',mn); textcolor(12); writeln('Максимальный элемет=',mx); readln end.
Объяснение кода листинга программы
- Объявление переменных:
- a: массив для хранения значений матрицы
- n: размер матрицы
- i, j: индексы для обхода матрицы
- mx, imx, jmx: координаты максимального элемента
- mn, imn, jmn: координаты минимального элемента
- k: размер заштрихованной части матрицы
- mx, mn: значения для хранения максимального и минимального элементов
- Заполнение матрицы случайными значениями
- Инициализация переменных для хранения максимального и минимального элементов
- Обход заштрихованной части матрицы для поиска максимального и минимального элементов
- Вывод матрицы с использованием разных цветов для выделения заштрихованной части и максимального и минимального элементов
- Вывод координат минимального и максимального элементов
- Чтение действия пользователя для выхода из программы В данном коде реализуется алгоритм поиска максимального и минимального элементов в заштрихованной части матрицы. Алгоритм основан на обходе матрицы и сравнении элементов с текущими минимальным и максимальным значениями. При этом используются разные цвета для выделения заштрихованной части и максимального и минимального элементов в матрице.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д