Поменять элементы матрицы, лежащие выше и ниже главной диагонали - Turbo Pascal

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

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

Дана матрица чисел mxm. Составить программу меняющая местами элементы лежащие выше главной диагонали с элементами лежащие ниже главной диагонали.

Решение задачи: «Поменять элементы матрицы, лежащие выше и ниже главной диагонали»

textual
Листинг программы
  1. uses crt;
  2. const nmax=10;
  3. var a:array[1..nmax,1..nmax] of integer;
  4.     n,i,j,x:integer;
  5. begin
  6. clrscr;
  7. randomize;
  8. repeat
  9. write('Размер матрицы от 2 до ',nmax,' n=');
  10. readln(n);
  11. until n in [2..nmax];
  12. writeln('Исходная матрица:');
  13. for i:=1 to n do
  14.  begin
  15.   for j:=1 to n do
  16.    begin
  17.     a[i,j]:=random(50);
  18.     write(a[i,j]:3);
  19.    end;
  20.   writeln;
  21.  end;
  22. for i:=2 to n do
  23. for j:=1 to i-1 do
  24.  begin
  25.   x:=a[i,j];
  26.   a[i,j]:=a[j,i];
  27.   a[j,i]:=x;
  28.  end;
  29. writeln('Обмен элементов выше главной диагонали и ниже главной диагонали');
  30. for i:=1 to n do
  31.  begin
  32.   for j:=1 to n do
  33.   write(a[i,j]:3);
  34.   writeln;
  35.  end;
  36. readln
  37. end.

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

  1. Создаётся переменная nmax со значением 10.
  2. Создаётся переменная a типа array[1..nmax,1..nmax] of integer;.
  3. Создаются переменные n, i, j, x типа integer;.
  4. Выполняется цикл repeat, который запрашивает у пользователя размер матрицы от 2 до 10.
  5. В цикле repeat выводится сообщение Размер матрицы от 2 до 10 n=.
  6. Пользователю предлагается ввести размер матрицы от 2 до 10.
  7. Полученный размер сохраняется в переменной n.
  8. Выводится сообщение Исходная матрица: для каждого размера матрицы от 2 до 10.
  9. Для каждого размера матрицы от 2 до 10 выполняется цикл for i:=1 to n do, внутри которого:
    1. Выполняется цикл for j:=1 to n do, внутри которого:
      1. Генерируется случайное число от 0 до 50 и присваивается переменной x.
      2. Присваивается переменной a[i,j] значение x.
      3. Выводится значение x (случайное число от 0 до 50).
      4. Выводится символ новой строки (\n).
      5. Выполняется операция обмена элементов a[i,j] и a[j,i] (присваивается значение a[j,i] значение a[i,j] и наоборот).
      6. Выводится значение a[i,j] (значение элемента, который был обменен).
      7. Выводится символ новой строки (\n).
      8. Выполняется операция обмена элементов a[i,j] и a[j,i] (присваивается значение a[j,i] значение a[i,j] и наоборот).
      9. Выводится значение a[i,j] (значение элемента, который был обменен).
      10. Выводится символ новой строки (\n).
  10. Выводится сообщение Обмен элементов выше главной диагонали и ниже главной диагонали.
  11. Для каждого размера матрицы от 2 до 10 выполняется цикл for i:=1 to n do, внутри которого:
    1. Выполняется цикл for j:=1 to n do, внутри которого:
      1. Выводится значение a[i,j] (значение элемента, который был обменен).
      2. Выводится символ новой строки (\n).
  12. Выводится сообщение Readln.

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


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

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

5   голосов , оценка 3.8 из 5

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

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

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