语法错误,“;”预期,但标识符OBRADA“发现,功能错误但不明白为什么..为什么只发生在第二个功能但不在第一个? 如果我在此代码中正确使用了Delete,有人可以告诉我吗?
我必须创建一个计算字符串中整数的程序,如果2个整数相同,则删除该整数的所有重复项。写下新的字符串,以及出现次数最多的重复次数......我可以做得更容易吗? 提前谢谢!
Program Zad_Septembar1_2013;
Const
max = 100;
Type
niz = array[1..100] Of integer;
Var A: niz;
Function citaj(Var A:niz;Var n:integer): boolean;
Var
i: integer;
Begin
citaj := true;
writeln('Unesite duzinu niza');
readln(n);
If (n>0) And (n<=max) Then
Begin
For i:=1 To n Do
Begin
writeln('Unesite', i ,'. cifru');
readln(A[i]);
End ;
End;
Function obrada(Var A:niz; Var n,q,s:integer): integer;
{Here I get an error but i don't understand why}
Var
p,m,i: integer;
Begin
m := 0;
q := 0;
p := 0;
s := 0;
For i:=1 To n Do
Begin
p = A[i];
For i:=1 To n Do
Begin
If (A[i]=p) Then
Begin
m := m+1;
Delete(A[i]); {Did i use delete correctly ?}
End;
End;
If (m>s) Then
Begin
s := m;
q := p;
End;
End;
End;
Procedure ispis(Var A:niz; q,s:integer);
Var
g: integer;
Begin
g := length( A );
For i:=1 To go Do
write(A[i]);
writeln('Broj pojavljivanja u nizu je: ',s);
writeln('Broj koji se pojavljuje je:', q);
答案 0 :(得分:1)
除了'citaj'末尾缺少'end'之外,你在这句话中似乎也有一个未声明的标识符For i:= 1要去做...使用更多描述性的变量名称会有很大的帮助。 / p>