Pascal数组定义错误

时间:2017-04-06 17:29:09

标签: pascal freepascal

我是一年级学生,我完成了一项任务,但无法理解如何避免我得到的错误。请你帮助我好吗? 这是我的代码:

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? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

  

R:整数的数组[m-1];

这是错误的,您需要指定一系列值,例如“R:整数的数组[0..m-1];”

  

[R [I,J]:= ABS(A [I,J] -A [I,J + 1]);

您正在尝试将一维数组视为多维数组。

你似乎也搞砸了你的“END”,我认为你在这方面所拥有的是合成正确但几乎肯定不是你想要的(在第一个“END”之后的所有内容都被忽略)