Квадратная матрица символьного типа. Транспонировать ее. Вывести на экран элементы, расположенные на побочной диагонали - Turbo Pascal

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

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

Дана квадратная матрица символьного типа. Транспонировать ее. Вывести на экран элементы, расположенные на побочной диагонали.

Решение задачи: «Квадратная матрица символьного типа. Транспонировать ее. Вывести на экран элементы, расположенные на побочной диагонали»

textual
Листинг программы
uses crt;
const nmax=10;
var a:array[1..nmax,1..nmax] of char;
    n,i,j:integer;
    x:char;
begin
clrscr;
randomize;
repeat
write('Размер матрицы от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=chr(65+random(26));
    write(a[i,j]:2);
   end;
  writeln;
 end;
for i:=2 to n do
for j:=1 to i-1 do
 begin
  x:=a[i,j];
  a[i,j]:=a[j,i];
  a[j,i]:=x;
 end;
writeln('Транспонированная матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:2);
  writeln
 end;
writeln('Элементы побочной диагонали');
for i:=1 to n do
write(a[i,n-i+1]:2);
readln
end.

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

  1. Создаётся переменная a, которая представляет собой матрицу символов размером от 2 до nmax на 1 на 10.
  2. Задаётся начальное значение для переменной n, которая будет использоваться для чтения размеров матрицы от пользователя.
  3. Запускается цикл repeat, который будет выполняться до тех пор, пока n не будет введено число от 2 до nmax.
  4. Внутри цикла repeat выводится сообщение с просьбой ввести размер матрицы.
  5. После получения размера матрицы, выводится исходная матрица.
  6. Запускается вложенный цикл for, который проходит по каждой строке матрицы.
  7. Внутри вложенного цикла for выводится каждый элемент матрицы.
  8. После вывода элементов строки, выводится символ новой строки (writeln).
  9. Запускается ещё один вложенный цикл for, который проходит по каждой колонке матрицы.
  10. Внутри этого цикла происходит переворот элементов текущей строки с помощью трёх операций: присваивания значения x элементам матрицы, затем присвоения элементам матрицы значения из предыдущей строки и, наконец, присвоения элементам матрицы значения из следующей строки.
  11. После завершения второго цикла for, выводится транспонированная матрица.
  12. Запускается ещё один вложенный цикл for, который проходит по каждой строке матрицы.
  13. Внутри этого цикла выводится каждый элемент матрицы.
  14. После вывода элементов строки, выводится символ новой строки (writeln).
  15. Выводится сообщение с просьбой ввести элемент матрицы, который нужно вывести на экран.
  16. После получения элемента, выводится этот элемент.
  17. Цикл завершается командой readln.
  18. Выводится сообщение с просьбой ввести размер матрицы от 2 до nmax.
  19. Если введенный размер не соответствует допустимому диапазону, то цикл повторяется.
  20. Если введенный размер соответствует допустимому диапазону, то цикл завершается командой readln.

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

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