Работа с массивами - 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

Решение задачи: «Работа с массивами»

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.

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

  1. Инициализация переменной a - двумерного массива размером 8x8, переменных i и j для циклов.
  2. Процедура Swap для обмена значений переменных.
  3. Процедура InitMatrix для заполнения массива a числами или последовательными значениями в соответствии с параметром b.
  4. Процедура PrintMatrix для вывода массива a на экран.
  5. Инициализация массива a и вывод исходного массива на экран.
  6. Обмен элементов строк 5 и 6, вывод получившегося массива на экран.
  7. Аналогично обмен столбцов 3 и 4, вывод получившегося массива на экран.
  8. Изменение порядка элементов в строке 8 на обратный, вывод получившегося массива на экран.
  9. Аналогично изменение порядка элементов в столбце 1, вывод получившегося массива на экран.
  10. Перестановка соседних элементов во 2 столбце, вывод получившегося массива на экран.
  11. Обмен половин строки 3 местами, вывод получившегося массива на экран.
  12. Транспонирование матрицы (перестановка элементов, главная диагональ становится главной основной), вывод получившегося массива на экран.

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


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

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

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