USES Crt;
VAR
A:ARRAY[0..8,0..7] OF INTEGER; A1:ARRAY[0..9,0..7] OF INTEGER;
A2:ARRAY[0..8,0..7] OF INTEGER;
I,J,K:BYTE; PP:INTEGER;
BEGIN
ClrScr; Randomize;
{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
WriteLn(' Значения элементов двумерного массива');
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO Begin
A[I,J]:=Random(15); Write(A[I,J]:3);
End; WriteLn;
End; WriteLn;
{ 1. Поменять местами строки }
WriteLn(' Средние строки поменялись местами с первой и последней');
FOR J:=1 TO 7 DO Begin
PP:=A[1,J]; A[1,J]:=A[4,J]; A[4,J]:=PP;
PP:=A[5,J]; A[5,J]:=A[8,J]; A[8,J]:=PP;
End;
{ Вывод измененного массива }
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO
Write(A[I,J]:3);
WriteLn;
End; ReadLn;
{ 2. Вставка }
WriteLn(' Первая строка вставлена между средними строками');
K:=0;
FOR I:=1 TO 8 DO Begin
Inc(K);
FOR J:=1 TO 7 DO Begin
A1[K,J]:=A[I,J]; Write(A1[K,J]:3);
End; WriteLn;
IF I=4 THEN Begin
Inc(K);
FOR J:=1 TO 7 DO Begin
A1[K,J]:=A[1,J]; Write(A1[K,J]:3);
End; WriteLn;
End;
End; Writeln; ReadLn;
{ 3. Удаление}
WriteLn(' Столбцы, в которых первый элемент > последнего, удалены');
K:=0;
FOR J:=1 TO 7 DO
IF A[1,J]<=A[8,J] THEN Begin
Inc(K);
FOR I:=1 TO 8 DO
A2[I,K]:=A[I,J];
End;
{ Вывод измененного массива }
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO K DO
Write(A2[I,J]:3);
WriteLn;
End; ReadLn;
{ 4. Замена }
WriteLn(' Элементы первых трех столбцов заменены на их квадраты');
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO Begin
IF J<=3 THEN A[I,J]:=Sqr(A[I,J]); Write(A[I,J]:4);
End; WriteLn;
End;
End.
VAR
A:ARRAY[0..8,0..7] OF INTEGER; A1:ARRAY[0..9,0..7] OF INTEGER;
A2:ARRAY[0..8,0..7] OF INTEGER;
I,J,K:BYTE; PP:INTEGER;
BEGIN
ClrScr; Randomize;
{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }
WriteLn(' Значения элементов двумерного массива');
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO Begin
A[I,J]:=Random(15); Write(A[I,J]:3);
End; WriteLn;
End; WriteLn;
{ 1. Поменять местами строки }
WriteLn(' Средние строки поменялись местами с первой и последней');
FOR J:=1 TO 7 DO Begin
PP:=A[1,J]; A[1,J]:=A[4,J]; A[4,J]:=PP;
PP:=A[5,J]; A[5,J]:=A[8,J]; A[8,J]:=PP;
End;
{ Вывод измененного массива }
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO
Write(A[I,J]:3);
WriteLn;
End; ReadLn;
{ 2. Вставка }
WriteLn(' Первая строка вставлена между средними строками');
K:=0;
FOR I:=1 TO 8 DO Begin
Inc(K);
FOR J:=1 TO 7 DO Begin
A1[K,J]:=A[I,J]; Write(A1[K,J]:3);
End; WriteLn;
IF I=4 THEN Begin
Inc(K);
FOR J:=1 TO 7 DO Begin
A1[K,J]:=A[1,J]; Write(A1[K,J]:3);
End; WriteLn;
End;
End; Writeln; ReadLn;
{ 3. Удаление}
WriteLn(' Столбцы, в которых первый элемент > последнего, удалены');
K:=0;
FOR J:=1 TO 7 DO
IF A[1,J]<=A[8,J] THEN Begin
Inc(K);
FOR I:=1 TO 8 DO
A2[I,K]:=A[I,J];
End;
{ Вывод измененного массива }
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO K DO
Write(A2[I,J]:3);
WriteLn;
End; ReadLn;
{ 4. Замена }
WriteLn(' Элементы первых трех столбцов заменены на их квадраты');
FOR I:=1 TO 8 DO Begin
FOR J:=1 TO 7 DO Begin
IF J<=3 THEN A[I,J]:=Sqr(A[I,J]); Write(A[I,J]:4);
End; WriteLn;
End;
End.