Массив: Получить матрицу А2(в квадрате) - Pascal
Формулировка задачи:
Решение задачи: «Массив: Получить матрицу А2(в квадрате)»
Program jyrdf; Var a:array[1..1000,1..1000] of integer; c:array[1..1000,1..1000] of integer; i,j,k,n:integer; Begin write ('введите n=');readln(n); Randomize; For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(10); write(a[I,j]:4); end; writeln; end; for i:=1 to n do for j:=1 to n do for k:=1 to n do c[j,i]:=c[j,i]+ (a[j,k]*a[k,i]); writeln; For i:=1 to n do begin For j:=1 to n do begin write(c[I,j]:4); end; writeln; end; writeln; end.
Объяснение кода листинга программы
В данном коде объявлены две переменные типа массива: a
и c
. Переменная a
предназначена для хранения матрицы размером 1000x1000, а переменная c
- для хранения другой матрицы, вычисленной на основе матрицы a
.
Далее, в блоке For i:=1 to n do
происходит итерация по строкам матрицы a
. В каждой итерации, в блоке For j:=1 to n do
происходит итерация по столбцам матрицы a
. В каждой итерации, в блоке For k:=1 to n do
происходит вычисление значения элемента матрицы c[j,i]
, равного сумме произведений элементов матрицы a[j,k]
и a[k,i]
.
После этого, также в блоке For i:=1 to n do
происходит вывод значений элементов матрицы c[i,:]
, то есть всех элементов строки i
матрицы c
.
Код завершается выводом сообщения writeln;
.