Сформировать квадратную матрицу порядка n по заданному образцу - Turbo Pascal (35289)
Формулировка задачи:
n 0 0 … 0 0 0
0 n-1 0 … 0 0 0
0 0 n-2 … 0 0 0
…………………………..
0 0 0 … 0 2 0
0 0 0 … 0 0 1
заранее спасибо!
Решение задачи: «Сформировать квадратную матрицу порядка n по заданному образцу»
textual
Листинг программы
uses crt; const nmax=20; var a:array[1..nmax,1..nmax] of integer; n,i,j,x:integer; begin clrscr; repeat write('Размер матрицы до ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to n do begin if j=i then a[i,j]:=n-i+1 else a[i,j]:=0; write(a[i,j]:3); end; writeln; end; readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с потоками ввода-вывода в Turbo Pascal.
- Затем определяется константа nmax, которая ограничивает размер матрицы до 20 элементов.
- Создается переменная a типа array[1..nmax,1..nmax] of integer, которая представляет собой матрицу порядка nmax на nmax.
- Далее определяются переменные n, i, j и x, которые будут использоваться в цикле.
- В цикле повторяется до тех пор, пока размер матрицы не будет введен пользователем.
- Пользователю предлагается ввести размер матрицы (n).
- После этого выводится сообщение с размером матрицы и предлагается ввести исходную матрицу.
- Внутренний цикл for i:=1 до n do выполняется для каждой строки матрицы.
- В этом цикле также есть вложенный цикл for j:=1 до n do, который выполняется для каждого элемента в строке.
- Если j равно i, то значение a[i,j] присваивается n-i+1.
- Если j не равно i, то значение a[i,j] присваивается 0.
- Значение a[i,j] выводится на экран.
- После окончания внутреннего цикла выводится символ новой строки.
- Цикл повторяется, пока все элементы матрицы не будут введены и выведены.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д