Найти локальные минимумы в матрице и вывести на экран - Turbo Pascal
Формулировка задачи:
Решение задачи: «Найти локальные минимумы в матрице и вывести на экран»
const n_max=100; type matr=array [1..n_max,1..n_max] of integer; var a:matr; j,i,k,n:integer; function LocMin(var i,j:integer;a:Matr):boolean; begin LocMin:=((i=1)or(a[i,j]<a[i-1,j]))and ((j=1)or(a[i,j]<a[i,j-1]))and ((i=10)or(a[i,j]<a[i+1,j]))and ((j=10)or(a[i,j]<a[i,j+1])); end; begin randomize; write('razmer matricy',' n='); readln(n); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(20)-5; write(a[i,j]:4); end; writeln; end; writeln; k:=0; for i:=1 to n do for j:=1 to n do if LocMin(i,j,a)then begin k:=k+1; writeln('Локальный минимум: ',a[i,j],', в строке: ',i,', в столбце: ',j); end; writeln; writeln('Kolichestvo lokalnyh minimumov k=',k); readln; end.
Объяснение кода листинга программы
Код написан на языке Turbo Pascal и решает задачу поиска локальных минимумов в матрице.
Переменная n_max
определяет максимальное значение размера матрицы, которое может быть равно 100.
Тип matr
представляет собой матрицу целых чисел, размером от 1 до n_max на 1 до n_max.
Переменная a
содержит значения матрицы.
Переменные j
и i
используются для итерации по строкам и столбцам матрицы соответственно.
Переменная k
отслеживает количество найденных локальных минимумов.
Функция LocMin
проверяет условие для нахождения локальных минимумов: если элемент в строке и столбце меньше предыдущего элемента в той же строке или в строке выше, и элемент в столбце и строке ниже меньше текущего элемента в этой строке.
Цикл for
используется для заполнения матрицы случайными числами от 1 до 20.
Внутри второго цикла for
проверяется условие LocMin
, и если оно выполняется, то элемент считается локальным минимумом, и его индексы записываются в переменную k
.
После завершения циклов выводится количество найденных локальных минимумов.
Код использует функцию randomize
для инициализации генератора случайных чисел перед заполнением матрицы случайными числами.
После выполнения кода с помощью функции readln
считывается ввод пользователя, и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д