Поменять местами элементы матрицы - Turbo Pascal

Узнай цену своей работы

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

Необходимо в квадратной матрице поменять местами элементы,лежащие выше главной и выше побочной диагоналей,на элементы лежащие ниже этих диагоналей.Сами диагонали же оставить без изменений

Решение задачи: «Поменять местами элементы матрицы»

textual
Листинг программы
uses crt;
var a:array[1..10,1..10] of integer;
    n,i,j,k,x:integer;
begin
clrscr;
repeat
write('Введите размер матрицы от 2 до 10 n=');
readln(n);
until n in [2..10];
randomize;
writeln('Исходная матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:3);
   end;
  writeln;
 end;
k:=n div 2;
if n mod 2=0 then dec(k);
for i:=1 to k do
for j:=i+1 to n-i do
 begin
  x:=a[i,j];
  a[i,j]:=a[n-i+1,j];
  a[n-i+1,j]:=x;
 end;
writeln('Измененная матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
readln
end.

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

Вот что делает этот код:

  1. Объявляет переменные:
    • a - двумерный массив (матрица) целых чисел размером от 1 до 10.
    • n - размер матрицы.
    • i, j, k - индексы для обхода матрицы.
    • x - временная переменная для обмена значениями.
  2. Запрашивает размер матрицы с помощью цикла repeat-until.
  3. Инициализирует матрицу случайными числами от 0 до 99 с помощью функции random(100).
  4. Выводит исходную матрицу на экран.
  5. Находит размер матрицы, деленный на 2, и, если размер матрицы четный, уменьшает его на 1.
  6. С помощью двух вложенных циклов for осуществляет перестановку элементов матрицы, помещая элементы в пирамиду в центре матрицы.
  7. Выводит измененную матрицу на экран.
  8. Завершает работу программы.

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


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

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

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