Uproszczona treść zadania:
Rzucamy kostką do gry ustaloną przez nas ilość razy (wyniki zapisujemy po kolei w tablicy dynamicznej). Następnie rejestrujemy ile razy każde oczko wypadło. Wyznacz które oczko wypadło najwięcej razy (i podaj ile razy wypadło) i które oczko wypadło najmniej razy (i podaj ile razy wypadło).
Moja składnia programu licząca max i min i oczkomax i oczkomin wygląda w uproszczeniu tak:
procedure TForm1.Button3Click(Sender: TObject);
begin
memo2.lines.Clear;
max:=tabkostka[0];
oczkomax:=1;
for n:=1 to 5 do
begin
if max < tabkostka[n] then
begin
max:=tabkostka[n];
oczkomax:=n+1;
end;
end;
memo2.lines.add('[Liczba wypadnięc: które oczko]');
memo2.Lines.add(inttostr(max) + ': ' + inttostr(oczkomax) );
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
memo2.lines.Clear;
min:=tabkostka[0];
oczkomin:=1;
for n:=1 to 5 do
begin
if min > tabkostka[n] then
begin
min:=tabkostka[n];
oczkomin:=n+1;
end;
end;
memo2.lines.add('[Liczba wypadnięc: które oczko]');
memo2.Lines.add(inttostr(min) + ': ' + inttostr(oczkomin) );
end;
Dla dogodnych warunków jakimi są: tylko jedno oczko wypadło najwięcej razy oraz tylko jedno oczko wypadło najmniej razy, mój program chodzi bez żadnych problemów. Jednak gdy na przykład jedynka i szóstka wypadły najwięcej razy to mój program nie wywala oczekiwanych wyników. To samo jeśli chodzi o minimum - gdy mamy dwie skrajne minima to program da wynik jako tylko jedno oczko.
Bardzo proszę Was o rozwiązanie mojego problemu i dziękuje z góry za odpowiedź.