-
Forum: Object-Pascal / Delphi-Language
by thechus,
22. Aug 2012
maxi := Anzahl - 1;
Ich weiß nicht, was ich dazu noch sagen soll.
Es funktioniert :D:D
Vielen Dank für die Hilfe.
Das mit High war irgendwie auch ein Wurm in meinem Kopf...
Super Forum, so spät noch Aktivität.
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Wolltest du vielleicht auf:
maxi := high(Anzahl);
hinaus?
Anzahl ist ja ein fester Wert (z.b. 100).
Da hätte man für high doch stets 100 raus.
anzahl ist aber nur die Anzahl der Zahlen, die alle einen Wert zwischen 0 und 100 haben können.
Die höchste Zahl kann auch mal 98 sein.
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Grr... ich komm nur wage drauf ...
Mein Ansatz wäre sowas wie " maxi := high(werte)" aber das scheint auch irgendwie Mist zu sein.
Die Prozedur, die die zufälligen werte ausgibt ist folgende:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Done
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Nein funktioniert nicht...
Omg was ist denn da passiert...
Der sortiert nur noch lauter Nullen.
Ich muss den Array von der Größe her einfach an den die Menge der Elemente aus Anzahl anpassen oder diese unsortierten Werte direkt auslesen können..
Aber wie??
gott.. mist :pale:
Gruß,
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
procedure TForm1.SelectionSort(var Werte: Array of Integer);
var i,k,maxi,j,wert:integer;
begin
maxi := high(Werte);
for i := 0 to maxi - 1 do
begin
wert := werte;
k := i;
for j := i + 1 to maxi do if werte < wert then
begin
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Hey,
okay ich habe folgendes herausfinden können:
Die Prozedur funktioniert von der Logik her einwandfrei.
Das Problem ist der zugewiesene Wert für "maxi".
Ich muss ihn irgendwie mit den Werten in Verbindung bringen...
Setzte ich die Konstante max auf 100 und weise maxi den Array zu, funktioniert die Prozedur...
Das mal als kleine Zwischennachricht... falls es euch nicht schon längst...
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
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)" 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...
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Die Stelle habe ich oben nochmal ergänzt, wohl zu spät tut mir leid.
Hmm... selbst wenn ich beide Werte als Integer deklariere taucht die Fehlermeldung auf.
Danke für die Hilfe.
Gruß,
thechus
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Hey,
das ist mir gerade aufgefallen, als ich von Herrn Raabe hingewiesen wurde.
Ich hab den Wert geändert:
procedure TForm1.SelectionSort;
var i,k,maxi,j:integer;
wert: word;
begin
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Hey,
const
max = 1000000;
Ich weiß, dass es keinen Sinn hat.
Der Lehrer verlangt dies so, zur Vorbereitung auf die bald kommenden dynamischen Arrays,
Super schnelle Antwort, wie immer!
-
Forum: Object-Pascal / Delphi-Language
by thechus,
21. Aug 2012
Hey, ich habe hier ein Problem.
Als ich in meinem Programm folgende Prozedur aufrufen ließ, hängt sich Delphi auf.
Ich weiß aber nicht, wo der Fehler liegt...
hier die Prozedur:
var
Form1: TForm1;