Weil c ein Eindimensionales Array ist und Du aber, wie Detlef schon sagte, auf eine zweite Dimension greifst. Versuch es mal so:
Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var a,b : integer;
c : array[0..9] of integer;
begin
Edit1.Text:=inttostr(a);
b:=strtoint(a);
c[b]:=Edit2.Text;
end;
Desweiteren hast Du einmal eine globale Variable (Pfui!), die Zufall heißt und einmal eine gleichnamige lokale Variable. Ist nicht gerade ideal