Работа с массивами - Pascal (80183)

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

Помогите решить задание, это не выполнимое задание. Вариант 2 1. Поменять местами строки 5 и 6. Вывести получившийся массив на экран. 2. Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран. 3. Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран. 4. Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран. 5. Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран. 6. Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран. 7. Транспонировать матрицу: 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8

Код к задаче: «Работа с массивами - Pascal (80183)»

textual
const n=8;
var
  a:array[1..n,1..n] of integer;
  i,j:integer;
procedure Swap(var a,b:integer);
var
  t:integer;
begin
  t:=a;a:=b;b:=t;
end;
procedure InitMatrix(b:boolean);
var
  i,j,k:integer;
begin
  for i:=1 to n do 
    for j:=1 to n do begin
      k:=k+1;
      if b then a[i,j]:=k else a[i,j]:=i;
    end;  
end;
procedure PrintMatrix;
var
  i,j:integer;
begin
  for i:=1 to n do begin
    for j:=1 to n do write(a[i,j]:4);
    writeln;
  end;
end;
begin
  writeln('1.   Поменять местами строки 5 и 6. Вывести получившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for j:=1 to n do Swap(a[5,j],a[6,j]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
  
  writeln('2.   Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for i:=1 to n do Swap(a[i,3],a[i,4]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('3.   Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for j:=1 to n div 2 do Swap(a[8,j],a[8,n-j+1]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('4.   Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n div 2 do Swap(a[i,1],a[n-i+1,1]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('5.   Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n-1 do if odd(i) then Swap(a[i,2],a[i+1,2]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('6.   Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for j:=1 to n div 2 do Swap(a[3,j],a[3,n div 2+j+n mod 2]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('7.   Транспонировать матрицу:');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n-1 do
    for j:=i+1 to n do Swap(a[i,j],a[j,i]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
end.

10   голосов, оценка 3.800 из 5


СОХРАНИТЬ ССЫЛКУ