Okay, gehn wir das mal Schritt für Schritt durch:
Delphi-Quellcode:
procedure TForm1.feld_zaehlen;
var a:array[1..6] of integer;
i,k: integer;
begin
for i:=1 to 6 do a[i]:=0;
//for i:=1 to 1000 do inc (a[w[i]];
for i:=1 to 1000 do begin
for k:=1 to 6 do if w[i]=k then inc (a[i]);
end;
for i:=1 to 6 do Li_zuza.Items.add(inttostr(i)+' gibt es '+ inttostr(a[i])+ ' mal.');
end;
Du setzt zuerst alle 6 Array-Elemente auf 0.
Dann hast du eine Zeile auskommentiert, die das gleiche macht, wie die drei darauffolgenden, nur einfacher. Warum hast du die auskommentiert?
Ich vermute folgendes Problem: Du greifst auf einen Array-Index von w zu, der außerhalb des Bereichs liegt. Zeige uns doch mal die Deklaration und Füllung des Arrays w.