Цитата:
Сообщение от Guneska
Так как Вы предлаете не получается, видимо я полная идиотка, но разбираться с этим приходится, и я вышла до дакого кода, но почему выводятся только нули и только по нажатию Enter?
program Project2;
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
const
n=2;
m=2;
p=2;
var
//Matrica А(n,m)
//Matrica B(m,p)
//Matrica C(n,p)
A : array [1..n, 1..m] of Integer;
B : array [1..m, 1..p] of Integer;
C : array [1..n, 1..p] of Integer;
k,j,v : Integer;
begin
for k := 1 to n do
begin
for j := 1 to m do
begin
for v := 1 to p do
begin
C[k,j] := A[k,v]*B[v,j];
write (C[k,j]);
end;
writeln;
readln;
end;
end;
end.
|
Нули получаются потому, что матрицы А и В пустые. Их нужно заполнить исходными данными. В этом коде вы просто объявили матрицы А и Б и попытались получить матрицу С, которая является их произведением. Соответственно 0*0=0.
Еще хочу Вам подсказать, что в цикле "for to do" блок "begin end" используется только в случае, если в цикле выполняется 2 и более операций. Новый цикл - это одна операция.
пример:
Код:
for i:=1 to 2 do
for j:=1 to 2 do
begin
writeln(i);
writeln(j);
end;
У Вас есть все возможности найти всю информацию в интернете.
Циклы: for, while, repeat
Двумерные массивы
Умножение матриц