Работа с массивами - 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
Листинг программы
  1. const n=8;
  2. var
  3.   a:array[1..n,1..n] of integer;
  4.   i,j:integer;
  5. procedure Swap(var a,b:integer);
  6. var
  7.   t:integer;
  8. begin
  9.   t:=a;a:=b;b:=t;
  10. end;
  11. procedure InitMatrix(b:boolean);
  12. var
  13.   i,j,k:integer;
  14. begin
  15.   for i:=1 to n do
  16.     for j:=1 to n do begin
  17.       k:=k+1;
  18.       if b then a[i,j]:=k else a[i,j]:=i;
  19.     end;  
  20. end;
  21. procedure PrintMatrix;
  22. var
  23.   i,j:integer;
  24. begin
  25.   for i:=1 to n do begin
  26.     for j:=1 to n do write(a[i,j]:4);
  27.     writeln;
  28.   end;
  29. end;
  30. begin
  31.   writeln('1.   Поменять местами строки 5 и 6. Вывести получившийся массив на экран.');
  32.   InitMatrix(false);
  33.   PrintMatrix;
  34.   for j:=1 to n do Swap(a[5,j],a[6,j]);
  35.   writeln('Полученная матрица:');
  36.   PrintMatrix;
  37.   readln;
  38.  
  39.   writeln('2.   Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран.');
  40.   InitMatrix(true);
  41.   PrintMatrix;
  42.   for i:=1 to n do Swap(a[i,3],a[i,4]);
  43.   writeln('Полученная матрица:');
  44.   PrintMatrix;
  45.   readln;
  46.  
  47.   writeln('3.   Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран.');
  48.   InitMatrix(true);
  49.   PrintMatrix;
  50.   for j:=1 to n div 2 do Swap(a[8,j],a[8,n-j+1]);
  51.   writeln('Полученная матрица:');
  52.   PrintMatrix;
  53.   readln;
  54.  
  55.   writeln('4.   Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран.');
  56.   InitMatrix(false);
  57.   PrintMatrix;
  58.   for i:=1 to n div 2 do Swap(a[i,1],a[n-i+1,1]);
  59.   writeln('Полученная матрица:');
  60.   PrintMatrix;
  61.   readln;
  62.  
  63.   writeln('5.   Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран.');
  64.   InitMatrix(false);
  65.   PrintMatrix;
  66.   for i:=1 to n-1 do if odd(i) then Swap(a[i,2],a[i+1,2]);
  67.   writeln('Полученная матрица:');
  68.   PrintMatrix;
  69.   readln;
  70.  
  71.   writeln('6.   Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран.');
  72.   InitMatrix(true);
  73.   PrintMatrix;
  74.   for j:=1 to n div 2 do Swap(a[3,j],a[3,n div 2+j+n mod 2]);
  75.   writeln('Полученная матрица:');
  76.   PrintMatrix;
  77.   readln;
  78.  
  79.   writeln('7.   Транспонировать матрицу:');
  80.   InitMatrix(false);
  81.   PrintMatrix;
  82.   for i:=1 to n-1 do
  83.     for j:=i+1 to n do Swap(a[i,j],a[j,i]);
  84.   writeln('Полученная матрица:');
  85.   PrintMatrix;
  86.   readln;
  87.  
  88. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы