Einzelnen Beitrag anzeigen

thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#10

AW: Ich weiß nicht, was da falsch ist

  Alt 21. Aug 2012, 22:43
Na? Welchen Wert hat maxi nun?
Ach!!
So hat maxi ja den Wert 100...8Wenn man im Editfeld 100 eingibt)

Das Programm generiert ja zunächst eine Liste aus zufälligen Zahlen aus der Menge Anzahl.
Somit muss ich doch "High(Werte[i])" nehmen, da das gerade die Werte sind, die unsortiert sind. Davon die größte Zahl.

An der Fehlermeldung hat dies aber nichts weiter geändert...
Kommt man da vielleicht in Widerspruch mit irgendwas oder habe ich irgendwo einen nicht existierenden Wert generiert?

Hier nochmal der Quellcode:

Code:
const
  max = 1000000;

var
  Form1: TForm1;
  Werte: Array[1..max] of Integer;
  Anzahl,Zahl: integer;

[...]


procedure TForm1.SelectionSort;
var i,k,maxi,j,wert:integer;
begin
 maxi := high(Werte[i]);
 for i := 0 to maxi - 1 do
  begin
   wert := werte[i];
   k := i;
   for j := i + 1 to maxi do if werte[j] < wert then
    begin
     wert := werte[j];
     k := j;
   end;
  werte[k] := werte[i];
  werte[i] := wert;
  end;
end;
Danke für die Hilfe... autsch...

Gruß,
thechus
  Mit Zitat antworten Zitat