Вдвумерном массиве [1..6,1..7] поменять местами 1 и 2, 3 и 4, 5 и 6 строки.

alinapavlova alinapavlova    1   27.08.2019 14:40    1

Ответы
mrnazar228 mrnazar228  05.10.2020 22:54
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('*** Исходный массив [6,7] ***');
  var a:=MatrRandom(6,7,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln('*** Результирующий массив [6,7] ***');
  for var i:=0 to 2 do a.SwapRows(2*i,2*i+1);
  a.Println(4)
end.

Пример
*** Исходный массив [6,7] ***
  16 -26 -12  33  39 -28  -6
  15 -77  15  63 -30 -59 -62
 -14  -3 -94  42  49  86  95
 -74  75 -69 -44 -43  -2 -62
 -68  82 -36 -30 -92 -88  34
 -34  16  81 -67   4  -8  80

*** Результирующий массив [6,7] ***
  15 -77  15  63 -30 -59 -62
  16 -26 -12  33  39 -28  -6
 -74  75 -69 -44 -43  -2 -62
 -14  -3 -94  42  49  86  95
 -34  16  81 -67   4  -8  80
 -68  82 -36 -30 -92 -88  34
ПОКАЗАТЬ ОТВЕТЫ
англиский33 англиский33  05.10.2020 22:54
 Const
   N = 6;
   M = 7;
Var
   A:array[1..N,1..M] of integer;
   i,j,B:integer;
Procedure Obmen(n1,n2:integer);
Var
   j:integer;
Begin
For j:= 1 to M do
    Begin
    B:=A[n1,j];
    A[n1,j]:=A[n2,j];
    A[n2,j]:=B;
    End;
End;
Begin
WriteLn('Исходный массив:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ');
        End;
    WriteLn;
    End;
WriteLn('Изменённый массив:');
Obmen(1,2);
Obmen(3,4);
Obmen(5,6);
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Write(A[i,j]:3,' ');
    WriteLn;
    End;
End.

Исходный массив:
 -1   8  -2   3  -7   3 -10
 -4   8   6   2  -1  10  -8
 -5  -7   0   2  -6  -2   4
 10  -1  -6  -5   2   2  -7
  7  -2   8  -8  -3   7  -2
 -9  -7   9   2  -2   3  -6
Изменённый массив:
 -4   8   6   2  -1  10  -8
 -1   8  -2   3  -7   3 -10
 10  -1  -6  -5   2   2  -7
 -5  -7   0   2  -6  -2   4
 -9  -7   9   2  -2   3  -6
  7  -2   8  -8  -3   7  -2
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика