Найти наибольший и наименьший элемент заштрихованной части матрицы - 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: значения для хранения максимального и минимального элементов
- Заполнение матрицы случайными значениями
- Инициализация переменных для хранения максимального и минимального элементов
- Обход заштрихованной части матрицы для поиска максимального и минимального элементов
- Вывод матрицы с использованием разных цветов для выделения заштрихованной части и максимального и минимального элементов
- Вывод координат минимального и максимального элементов
- Чтение действия пользователя для выхода из программы В данном коде реализуется алгоритм поиска максимального и минимального элементов в заштрихованной части матрицы. Алгоритм основан на обходе матрицы и сравнении элементов с текущими минимальным и максимальным значениями. При этом используются разные цвета для выделения заштрихованной части и максимального и минимального элементов в матрице.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д