Статический в динамический массив - Pascal
Формулировка задачи:
Помогите переписать программу(чтобы использовался динамический массив)
Var A:array[1..20,1..20] of integer; X:array[1..20] of byte; i,j,n:byte; pr:longint; Begin write('Введите N: ');readln(n); pr:=1; For i:=1 to n do Begin For j:=1 to n do Begin A[i,j]:=random(31)-15; write(A[i,j]:4); pr:=pr*A[i,j]; End; if A[i,i]<1 then X[i]:=0 else X[i]:=1; writeln; End; writeln('Полученный массив'); For i:=1 to n do write(X[i]:2); writeln; writeln('Произведение матрицы = ',pr); readln; End.
Решение задачи: «Статический в динамический массив»
textual
Листинг программы
const convert: Array[Boolean] Of Byte = (1, 0); var a: Array Of Array Of ShortInt; x: Array Of Boolean; i, j, n: Byte; pr: Extended; begin repeat Write('Введите N: '); ReadLn(n); until (n > 0); pr := 1; SetLength(a, n, n); SetLength(x, n); for i := 0 to n - 1 do begin for j := 0 to n - 1 do begin a[i, j] := Random(31) - 15; Write(a[i, j]:4); pr := pr * a[i, j]; end; WriteLn; x[i] := (a[i, i] < 0); end; Write('Полученный массив:'); for i := 0 to n - 1 do Write(convert[x[i]]:2); WriteLn; Write('Произведение матрицы = ', pr:0:0); end.
Объяснение кода листинга программы
- В начале кода объявляются необходимые константы и переменные.
- Затем идет цикл, который повторяется до тех пор, пока пользователь не введет число больше нуля. В этом цикле выделяется массив
a
и массивx
нужного размера. - Внутри цикла вычисляется произведение
pr
равное произведению элементов массиваa
. - После окончания внешнего цикла выводится сообщение с полученным произведением.
- Затем выводится сообщение с элементами массива
x
. - После этого выводится сообщение с элементами массива
convert
, где каждый элемент соответствует элементу массиваx
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д