В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
madina319
madina319
10.02.2021 21:54 •  Другие предметы

Дана целочисленная матрица размером n×m. Переставляя её строки и столбцы, добиться того, чтобы наименьший элемент (или один из них) оказался

Ответ:
vadimminaev228
vadimminaev228
16.04.2019 23:00
Uses crt;
Type MyType = integer;
Var
  n,m,i,j,xi,xj: byte;
  a: array[1..100,1..100] of MyType;
 
Procedure Stroka(i,i1: byte);
  var
    j: byte;
    buf: MyType;
  begin
    For j:=1 to m do
      begin
        buf:=a[i,j];
    a[i,j]:=a[i1,j];
    a[i1,j]:=buf
      end
  end;
 
Procedure Stolb(j,j1: byte);
  var
    i: byte;
    buf: MyType;
  begin
    For i:=1 to n do
      begin
        buf:=a[i,j];
    a[i,j]:=a[i,j1];
    a[i,j1]:=buf
      end
  end;
 
Begin
  Clrscr;
  Write('n=');
  Readln(n);
  Write('m=');
  Readln(m);
  Randomize;
  For i:=1 to n do
    begin
      For j:=1 to m do
         begin
           a[i,j]:=random(21)-5;
           Write(a[i,j]:4);
         end;
      Writeln;
    end;
  Writeln;
 
  xi:=1; xj:=1;
  For i:=1 to n do
  For j:=1 to m do
    If a[i,j] < a[xi,xj] then
      begin
     xi:=i;
     xj:=j
      end;
            
  While xi > 1 do
    begin
      Stroka(xi,xi-1);
      Dec(xi)
    end;
  While xj < n do
    begin
      Stolb(xj,xj+1);
      Inc(xj)
    end;
        
  For i:=1 to n do
    begin
      For j:=1 to m do write(a[i,j]:4);
      Writeln
    end;
End.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?