В матрице среди элементов лежащих ниже главной диагонали найти первый минимальный элемент - Pascal ABC

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

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

В квадратной матрице N*N среди элементов лежащих НИЖЕ главной диагонали найти первый минимальный элемент.Определить его номер строки.Поменять местами строку,в которой найден этот элемент со строкой с заданным номером К

Решение задачи: «В матрице среди элементов лежащих ниже главной диагонали найти первый минимальный элемент»

textual
Листинг программы
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,i,j,mn,imn,k,x:integer;
begin
randomize;
repeat
write('Размер матрицы от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(50);
    write(a[i,j]:3);
   end;
  writeln;
 end;
mn:=a[2,1];
imn:=2;
for i:=2 to n do
for j:=1 to i-1 do
if a[i,j]<mn then
 begin
  mn:=a[i,j];
  imn:=i;
 end;
writeln('Первый минимальный элемент=',mn,' в строке ',imn);
repeat
write('Введите номер строки для обмена от 1 до ',n,' <>',imn,' k=');
readln(k);
until(k in [1..n])and(k<>imn);
for j:=1 to n do
 begin
  x:=a[imn,j];
  a[imn,j]:=a[k,j];
  a[k,j]:=x;
 end;
writeln('Обмен строк ',imn,' и ',k);
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
end.

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

  1. Создается константа nmax, которая определяет максимальное значение индекса в матрице.
  2. Создается переменная a, которая представляет собой матрицу размером от 2 до nmax на 1 до nmax.
  3. Задаются переменные n, i, j, mn, imn и k, которые будут использоваться в цикле.
  4. Запускается цикл повторения, в котором пользователю предлагается ввести размер матрицы от 2 до nmax.
  5. Внутри цикла создается строка исходной матрицы.
  6. Запускается вложенный цикл, в котором обновляется значение переменной mn и переменной imn. Если текущий элемент a[i,j] меньше mn, то mn обновляется на текущий элемент, а imn обновляется на i.
  7. После завершения вложенного цикла выводится сообщение с первым минимальным элементом и его строкой.
  8. Запускается еще один цикл повторения, в котором пользователю предлагается ввести номер строки для обмена от 1 до n.
  9. Внутри цикла обновляется временная переменная x, которая будет использоваться при обмене строк.
  10. Запускается еще один вложенный цикл, в котором происходит обмен строк.
  11. После завершения вложенного цикла выводится сообщение об обмене строк.
  12. Выводится окончательный результат - матрица после обмена строк.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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