Pascal错误:尝试编译时无法分配左侧

Pascal错误:尝试编译时无法分配左侧,pascal,Pascal,我在试图编译时遇到了这个错误。 无法将左侧指定给粘贴箱中的、/编号21,22 这是我的密码 Program urut; Uses Wincrt; Const N = 5; data: Array [1..N] Of Integer = (2,4,5,3,1); Var j,k,temp : Integer; Begin Clrscr; Writeln ('Data sebelum diurutkan'); For j:=1 To N Do Begin Wr

我在试图编译时遇到了这个错误。

无法将左侧指定给粘贴箱中的、/编号21,22

这是我的密码

Program urut;
Uses Wincrt;
Const N =  5;
   data:  Array [1..N] Of Integer =  (2,4,5,3,1);
Var
   j,k,temp :  Integer;
Begin
 Clrscr;
Writeln ('Data sebelum diurutkan');
For j:=1 To N Do
   Begin
     Writeln('data[' ,j, ']= ',data [j]);
  End;
For j:=1 To N-1 Do
  Begin
     For k :=N Downto j+1 Do
        Begin
           If data[k] < data[k-1] Then
              Begin
                 temp := data[k];
                 data[k] := data[k-1]; //left side cannot be assigned to
                 data[k-1] := temp; //left side cannot be assigned to
              End;
        End;
  End;
Writeln;
Writeln ('Data setelah diurutkan ');
For j:=1 To N Do
   Begin
      Writeln ('data[' ,j, '] = ',data[j]);
   End;
 Writeln;
 End.  
programmurut;
使用Wincrt;
常数N=5;
数据:整数=(2,4,5,3,1)的数组[1..N];
变量
j、 k,temp:整数;
开始
clrsc;
Writeln(“数据sebelum diurutkan”);
对于j:=1到N Do
开始
Writeln('data[',j',]=',data[j]);
结束;
对于j:=1到N-1 Do
开始
对于k:=N到j+1 Do
开始
如果数据[k]<数据[k-1],则
开始
温度:=数据[k];
数据[k]:=数据[k-1]//无法将左侧指定给
数据[k-1]:=温度//无法将左侧指定给
结束;
结束;
结束;
书面语;
Writeln(‘数据集’);
对于j:=1到N Do
开始
Writeln('data[',j',]=',data[j]);
结束;
书面语;
结束。
很抱歉没有正确的模式后 ,非常感谢


正如tom Brunberg所说,我的数组是常量,不能更改。因此,我需要删除该常量

应该如此

data: Array [1..5] Of Integer = (value);

不带常量,并将其与另一个变量置于var下

数组
数据[]
声明为
常量
。所以它不能改变。非常感谢你,我的问题解决了。如何结束这个问题?你可以通过“接受”答案来“结束”这个问题。你可以接受自己对自己问题的回答,但它要到48小时后才会生效,你也不会获得声誉奖励。我建议你去参观,特别是阅读关于提问和回答的书籍。干杯