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