В прямоугольной таблице указать строку, содержащую минимальный положительный элемент - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Пожалуйста помогите с задачей! Тема:массивы. В прямоугольной таблице указать строку, содержащую минимальный положительный элемент.

Решение задачи: «В прямоугольной таблице указать строку, содержащую минимальный положительный элемент»

textual
Листинг программы
const nmax=15;
type mas=array[1..nmax,1..nmax] of integer;
procedure vvod(var a:mas;var m,n:byte);
var i,j:byte;
begin
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-10+random(21);
    write(a[i,j]:4);
   end;
  writeln;
 end;
end;
procedure min(a:mas;m,n:byte);
var i,j,k,mn,imn:byte;
begin
k:=0;
for i:=1 to m do
for j:=1 to n do
if a[i,j]>0 then
 begin
  if k=0 then
   begin
    mn:=a[i,j];
    imn:=1;
    k:=1;
   end
  else if a[i,j]<mn then
   begin
    mn:=a[i,j];
    imn:=i;
   end;
  end;
if k=0 then write('В матрице нет положительных элементов')
else write('Минимальный положительный=',mn,' в строке ',imn);
end;
var a:mas;
    m,n:byte;
begin
randomize;
vvod(a,m,n);
min(a,m,n);
end.

Объяснение кода листинга программы

  1. В первой строке кода объявляется константа nmax, которая определяет максимальное количество строк и столбцов в матрице.
  2. Затем объявляется тип данных mas, который представляет собой массив целых чисел размером до nmax на nmax.
  3. Далее объявляются две переменные-переключателя m и n, которые будут использоваться для чтения количества строк и столбцов соответственно.
  4. После этого начинается цикл repeat, который будет выполняться до тех пор, пока m и n не будут равны 1 до nmax.
  5. Внутри цикла m читается количество строк, а затем выводится сообщение с запросом ввода количества столбцов.
  6. После того, как количество столбцов было введено, выводится исходная матрица.
  7. Для каждой строки в матрице (от 1 до m) начинается новый внутренний цикл, в котором для каждой ячейки (от 1 до n) выводится значение этой ячейки.
  8. Если значение ячейки положительное, то проверяется, является ли оно минимальным среди всех положительных значений в матрице. Если это так, то выводится сообщение с номером строки и номером столбца, где находится минимальное значение.
  9. Если после завершения внутреннего цикла значение переменной k равно 0, то выводится сообщение о том, что в матрице нет положительных элементов.
  10. В конце кода сбрасывается генератор случайных чисел и вызывается функция min, передавая ей матрицу и значения m и n.
  11. После выполнения функции min выводится минимальный положительный элемент в матрице.

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы