我是一年级学生,我完成了一项任务,但无法理解如何避免我得到的错误。请你帮助我好吗? 这是我的代码:
PROGRAM LAB5MAS (INPUT,OUTPUT);
CONST
n=5;
m=6;
VAR
A: array[1..n,1..m] of Integer;
R: array[m-1] of Integer;
i,j: Integer;
max: Integer;
BEGIN
Randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10);
Writeln('a=,');
for i:=1 to n do
BEGIN
for j:=1 to m do
write(a[i,j]:4);
writeln;
END;
for i:=1 to n do
for j:=1 to m-1 do
R[i,j]:=abs(A[i,j]-A[i,j+1]);
END.
for i:=1 to n do
BEGIN
max:=R[i,1];
for j:=1 to m-1 do
if R[i,j] > max then
max:=R[i,j];
Writeln(max);
END;
for i:=1 to n do
BEGIN
for j:=1 to m do
write(a[i,j]:4);
writeln;
END.
我得到的错误:
Compiling C:\Users\Nadia\Desktop\qqwww\laba.pas
laba.pas(7,17) Error: Error in type definition
laba.pas(24,7) Error: Illegal qualifier
laba.pas(26,1) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
如何解决这个问题? 如何计算数组A(5,6)中最近元素之间减法的最大值,并将此结果写入数组B? 提前谢谢!
答案 0 :(得分:2)
R:整数的数组[m-1];
这是错误的,您需要指定一系列值,例如“R:整数的数组[0..m-1];”
[R [I,J]:= ABS(A [I,J] -A [I,J + 1]);
您正在尝试将一维数组视为多维数组。
你似乎也搞砸了你的“END”,我认为你在这方面所拥有的是合成正确但几乎肯定不是你想要的(在第一个“END”之后的所有内容都被忽略)