Найти минимальный элемент матрицы, вывести его значение, номер строки и номер столбца - Free Pascal
Формулировка задачи:
Дана матрица А размерностью NxM (значения элементов матрицы вводятся с клавиатуры). Необходимо найти минимальный элемент, вывести его значение, номер строки и номер столбца.
Помогите решить такую задачу. Находил на форуме похожую, но не помогла.
Решение задачи: «Найти минимальный элемент матрицы, вывести его значение, номер строки и номер столбца»
textual
Листинг программы
uses crt;
const nmax = 10; //вряд ли будешь вводить больше 100 значений
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,min,x,y:integer;
begin
repeat
write('Количество строк от 2 до ',nmax,' m=');
readln(m);
until m in [2..nmax];
repeat
write('Количество столбцов от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Введите элементы матрицы, целые числа');
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
clrscr;
writeln('Матрица');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:4);
Writeln;
end;
min:=a[1,1];
x:=1;
y:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]<min then
begin
min:=a[i,j];
x:=i;
y:=j;
end;
Writeln('Минимальный элемент=',min,' в строке ',x,' в столбцеe ',y);
readln
end.
Объяснение кода листинга программы
- Объявлены переменные: — a: массив для хранения значений матрицы — m, n, i, j: для выполнения операций с матрицей — min: для хранения минимального значения матрицы — x, y: для хранения номера строки и столбца с минимальным значением
- Пользователю предлагается ввести количество строк и столбцов матрицы
- Пользователю предлагается ввести элементы матрицы
- Выводится матрица
- Инициализируется переменная min значением первого элемента матрицы
- Инициализируются переменные x и y значением 1
- Происходит сравнение каждого элемента матрицы с min и при необходимости обновляется значение min, x и y
- Выводится минимальный элемент, а также номер строки и столбца, где он находится
- Программа ожидает ввода, чтобы пользователь мог увидеть результат