0
下面的代碼應該創建一個3x4矩陣並打印每行所有數字的總和。然而,在編譯它,我不斷收到以下錯誤:有問題Pascal錯誤:非法限定符
jdoodle.pas(26,25) Error: Illegal qualifier
jdoodle.pas(33,32) Error: Illegal qualifier
jdoodle.pas(41,32) Error: Illegal qualifier
jdoodle.pas(48,24) Error: Illegal qualifier
jdoodle.pas(56,4) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted.
的線路有:
line 26: readln (A[i, j]);
line 33: B[i] := B[i] + A[i, j]
line 41: C[J] := C [J] + A[i,j]
line 48: write (A[i, j]:5);
任何人都可以澄清這對我好嗎?主要的問題是,我不知道錯誤代碼的含義。我注意到'A [i,j]'在錯誤中提到的所有行中,但我無法找出它出了什麼問題。任何幫助都將不勝感激!
這裏是我的完整代碼:
Program Matrix (input, output);
const
ZEILENMAX = 3;
SPALTENMAX = 4;
type
tZeile = 1..ZEILENMAX;
tSpalte = 1..SPALTENMAX;
tMatrix = array[tZeile] of integer;
tZeilensumme = array [tZeile] of integer;
tSpaltensumme = array [tSpalte] of integer;
var
A : tMatrix;
B : tZeilensumme;
C : tSpaltensumme;
i : tZeile;
j : tSpalte;
begin
for i := 1 to ZEILENMAX do
for j := 1 to SPALTENMAX do
readln (A[i, j]);
for i := 1 to ZEILENMAX do
begin
B[i] := 0;
for j := 1 to SPALTENMAX do
B[i] := B[i] + A[i, j]
end;
for j := 1 to SPALTENMAX do
begin
C[j] := 0;
for i := 1 to Zeilenmax do
C[J] := C [J] + A[i,j]
end;
writeln;
for i := 1 to ZEILENMAX do
begin
for j := 1 to SPALTENMAX do
write (A[i, j]:5);
writeln (B[i]:10)
end;
writeln;
for j:= 1 to SPALTENMAX do
write (C[j]:5);
writeln
end.
在您的聲明中,'A'看起來不像多維數組。 – pvg
@pvg你能澄清嗎?矩陣不算作多維數組嗎? (對不起,這裏是初學者) – Lucky
'矩陣'只是你給出類型的名字。你已經將它聲明爲一維數組,就像其他數組一樣。你爲什麼期望A是多維的,而B和C是一維的,具有完全相同的聲明?如果你對聲明語法不清楚,可以Google'在Pascal中創建多維數組'。 – pvg