Hallo!!
Habe in Delphi eine Programm programmiert wo ich Ergebnisse von Spieltagen eingebe und aus diesen wird eine Tabelle erzeugt. Diese wird nach Punkten und Toren sortiert.
Aber leider klappt nur die Sortierung nach Punkten.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| for i:= 1 to 18 do Begin Max := VereinA[i].Punkte; Pos := i; VereinB := VereinA[i]; for j := i+1 to 18 do If VereinA[j].Punkte > Max Then Begin Max := VereinA[j].Punkte; Pos := j; VereinB:=VereinA[j];
VereinA[pos] := VereinA[i]; VereinA[i] := VereinB; TordifTA[x] := VereinA[i].Tordifferenz; end; end; |
--> Hier findet die Sortierung nach Punkten statt dafür habe ich ein Array vom Typ Record erstellt für 18 Mannschften.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
| If VereinA[1].Punkte = VereinA[2].Punkte Then begin Anzahl := 2; Anfang := 1; Ende := 4;
for x:= Anfang to Ende do Begin TordifTA[x] := VereinA[i].Tordifferenz; Max2 := TordifTA[x]; Pos2 := x; TordifTB := TordifTA[x]; for y := Anfang+1 to Ende do If TordifTA[y] > Max Then Begin Max2 := TordifTA[y]; Pos2 := y; TordifTB:= TordifTA[y];
TordifTA[pos2] := TordifTA[x]; TordifTA[x] := TordifTB; VereinA[i].Tordifferenz := TordifTB; end;
end; end
else begin VereinA[pos] := VereinA[i]; VereinA[i] := VereinB; end; If VereinA[1].Punkte = VereinA[3].Punkte Then begin Anzahl := 3; Anfang := 1; Ende := 3;
for x:= Anfang to Ende do Begin TordifTA[x] := VereinA[i].Tordifferenz; Max2 := TordifTA[x]; Pos2 := x; TordifTB := TordifTA[x]; for y := Anfang+1 to Ende do If TordifTA[y] > Max Then Begin Max2 := TordifTA[y]; Pos2 := y; TordifTB:= TordifTA[y];
TordifTA[pos2] := TordifTA[x]; TordifTA[x] := TordifTB; VereinA[i].Tordifferenz := TordifTB; end;
end; end else begin TordifTA[pos2] := TordifTA[x]; TordifTA[x] := TordifTB; end; |
--> Hier ist mein Ansatz für die Sortierung nach der Tordifferenz
wobei dies von den Punkten abhänig ist. Nur bei Punktgleichheit soll nach der Tordifferenz sortiert werden. Habe dies nür für erste 3 Mannschaften gemacht. Dafür habe ich ein Array vom Type integer erstellt. Aber leider funktioniert es nicht.
Ich hoffe ihr könnt mir helfen oder mir eine einfachere variante der Sortierung nennen.
Danke, Danke !!
jetzt noch zwei Sorry:
- einmal dafür das text nicht formatiert ist
--> Fehlermeldung bei Formations Versuch (Laufzeitfehler)
- zweites falls ich frage in flasches Forum
geschrieben habe
MfG
Ebbi