语法错误,“;”预期但发现标识符 OBRADA”,功能错误但不明白为什么

Syntax error, ";" expected but identifier OBRADA" found, error in function but don't understand why

语法错误,“;”预期但发现标识符 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);

除了 'citaj' 末尾缺少的 'end' 之外,您在此语句中似乎还有一个未声明的标识符 For i:=1 To go Do... 使用更多描述性变量名字会有很大帮助。