Сформировать матрицу по правилу - PascalABC.NET (24817)

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

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

Сформировать матрицу A(N, N) следующим образом – элементам, стоящим на главной диагонали, присвоить значение 1, элементам, стоящим на следующих диагоналях, параллельно главной, присвоить значения 2, 3 и т.д.

Решение задачи: «Сформировать матрицу по правилу»

textual
Листинг программы
const nmax=20;
var a:array[1..nmax,1..nmax]  of byte;
    n,i,j:byte;
begin
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
    if j>=i then a[i,j]:=j-i+1
    else a[i,j]:=i-j+1;
    write(a[i,j]:3);
   end;
  writeln;
 end;
end.

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

В этом коде задается и решается задача формирования матрицы по определенному правилу.

  1. Объявляются константы и переменные:
    • nmax - максимальное значение размера матрицы (20);
    • a - массив (в данном случае, одномерный), который будет представлять собой двумерную матрицу (так как в Паскале индексация начинается с 1, а не с 0);
    • n, i, j - переменные для удобства работы с матрицей.
  2. В цикле repeat-until происходит запрос на ввод размера матрицы от пользователя. Цикл будет выполняться до тех пор, пока пользователь не введет значение в диапазоне от 2 до 20.
  3. Выводится сообщение Матрица.
  4. Запускается двойной цикл for, который формирует матрицу. Внешний цикл отвечает за заполнение строк, внутренний - за заполнение столбцов.
  5. Если значение j больше или равно i (то есть, при движении слева направо), то в ячейку a[i,j] записывается значение j-i+1. Если значение j меньше i (то есть, при движении справа налево), то в ячейку a[i,j] записывается значение i-j+1. Значение ячейки затем выводится на экран с помощью write(a[i,j]:3).
  6. После завершения внутреннего цикла, выводится символ -, а после завершения внешнего цикла - символ | (для разделения строк).
  7. После завершения циклов выводится символ | (для разделения строк) и выводится размер матрицы.
  8. Цикл repeat-until завершается, когда пользователь вводит значение размера матрицы, не соответствующее заданному диапазону.

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


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

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

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