Der folgende Code soll eine 3x4-Matrix erstellen und die Summe aller Zahlen pro Zeile ausgeben. Allerdings ist es bei der Zusammenstellung, ich erhalte immer folgende Fehler:Pascal-Fehler: ungültiger Qualifier
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.
Die Linien in Frage sind:
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);
Könnte jemand klären für mich bitte? Das Hauptproblem ist, dass ich nicht wirklich weiß, was dieser Fehlercode bedeutet. Ich habe bemerkt, dass "A [i, j]" in allen Zeilen steht, die in den Fehlern erwähnt werden, aber ich kann einfach nicht herausfinden, was damit nicht stimmt. Jede Hilfe würde sehr geschätzt werden!
Und hier ist meine komplette Code:
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' sieht in Ihrer Deklaration nicht wie ein mehrdimensionales Array aus. – pvg
@pvg könnten Sie klären? Zählt eine Matrix nicht als mehrdimensionales Array? (Sorry, Anfänger hier) – Lucky
'Matrix' ist nur ein Name, den Sie den Typ gegeben haben. Sie haben es wie Ihre anderen Arrays als eindimensionales Array deklariert. Warum erwarten Sie, dass A mehrdimensional ist, während B und C eindimensional sind, mit genau denselben Deklarationen? Google 'multidimensionales Array in Pascal' hoch, wenn Sie die Deklarationssyntax nicht kennen. – pvg