Переставить строки матрицы симметрично горизонтальной оси - Turbo Pascal
Формулировка задачи:
Здравствуйте, ув. пользователи!
Прошу у вас помощи с:
Задано двумерный массив A размером NxM. Целые числа и элементы массива задать самостоятельно. Переставить строки матрицы A симметрично горизонтальной оси.
Буду премного признателен!
Спасибо за внимание 0/
Решение задачи: «Переставить строки матрицы симметрично горизонтальной оси»
textual
Листинг программы
uses Crt; type Tmass=array[1..10,1..10] of integer; var a:Tmass; i,j,n,m,k,t:integer; begin ClrScr; repeat Write('0 < N < 11 = '); Readln(n); Write('0 < M < 11 = '); Readln(m); Writeln; until (n>0) and (n<11) and (m>0) and (m<11); Writeln('Matrix A:'); Writeln; Randomize; for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=Random(51); Write(a[i,j]:4); end; Writeln; end; Writeln; Writeln; i:=1; k:=n; repeat for j:=1 to m do begin t:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=t; end; Inc(i); Dec(k); until i>k; Writeln('Matrix A:'); Writeln; for i:=1 to n do begin for j:=1 to m do Write(a[i,j]:4); Writeln; end; ReadKey; end.
Объяснение кода листинга программы
- Создается тип данных Tmass, который представляет собой массив целых чисел размером 10x10.
- Создается переменная a типа Tmass.
- Создаются переменные i, j, n, m, k, t, которые представляют собой индексы массива и счетчики для цикла.
- Выполняется итерация цикла до тех пор, пока условия (n>0) и (n<11) и (m>0) и (m<11) выполняются.
- Выводится сообщение
Matrix A:
и пробел. - Инициализируется генератор случайных чисел.
- Для каждого i от 1 до n выполняется цикл.
- Внутри цикла для каждого j от 1 до m выполняется вложенный цикл.
- В каждой итерации вложенного цикла переменной t присваивается значение элемента массива a[i,j], а значениям a[i,j] и a[k,j] присваиваются значения переменной t.
- Индексы i и k изменяются с помощью операций Inc и Dec соответственно.
- После завершения вложенного цикла выводится сообщение
Matrix A:
. - Цикл завершается, когда i становится больше k.
- Выводится последняя строка матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д