Einzelnen Beitrag anzeigen

Watzi

Registriert seit: 5. Jan 2010
3 Beiträge
 
#1

Variablen sortieren

  Alt 5. Jan 2010, 13:20
Hallo,

ich schreibe ein Programm, das den Tabellenplatz von Handballmannschaften ausgeben soll. Die Punkte der Mannschaften habe ich auch schon ausgerechnet. Nur weiß ich nicht, wie ich sie jetzt sortieren kann, so dass es am Ende etwa so aussieht:
1. Platz: JSG Mendig/Welling, 14 Punkte
2. Platz: HSG Hachenburg/Bad Marienberg, 14 Punkte
3. Platz: HSV Rhein-Nette, 12 Punkte
usw.

Bis jetz habe ich mir das überlegt:

Delphi-Quellcode:
  sortieren[1]:=HSVRheinNette;
  Mannschaft[1]:='HSV Rhein-Nette';
  sortieren[2]:=HSGRoemerwall;
  Mannschaft[2]:='HSG RÃmerwall';
  sortieren[3]:=TVfLSinzigRemagen;
  Mannschaft[3]:='TVfL Sinzig/Remagen';
  sortieren[4]:=TVBassenheim;
  Mannschaft[4]:='TV Bassenheim';
  sortieren[5]:=HSGHachenburgBadMarienberg;
  Mannschaft[5]:='HSG Hachenburg/Bad Marienberg';
  sortieren[6]:=TuSAhrweiler;
  Mannschaft[6]:='TuS Ahrweiler';
  sortieren[7]:=TVArzheim;
  Mannschaft[7]:='TV Arzheim';
  sortieren[8]:=TGBoppard;
  Mannschaft[8]:='TG Boppard';
  sortieren[9]:=TuSAhrbach;
  Mannschaft[9]:='TuS Ahrbach';
  sortieren[10]:=JSGMendigWelling;
  Mannschaft[10]:='JSG Mendig/Welling';

  for I := 1 to 10 do
  begin
    x := i;
    for j := i+1 to 9 do
      if sortieren[x] > sortieren[j] then
        x := j;
      begin
        m := sortieren[x];
        sortieren[x] := sortieren[i];
        sortieren[i] := m;
      end;
    startseite.memo1.Lines.Add(Mannschaft[x] + ':' + inttostr(sortieren[i]));
  end;
Der Array sortieren ist von Typ Integer und enthält die Punkte der entsprechenden Mannschaft, der Array Mannschaft ist vom Typ string und enthält den Mannschaftsnamen.

Als Ergebnis bekomme ich dann das:

Zitat:
HSG RÃmerwall: 0
TuS Ahrweiler: 2
TVfL Sinzig/Remagen: 4
TV Arzheim: 4
TuS Ahrbach: 4
TG Boppard: 8
TV Arzheim: 10
TG Boppard: 12
TuS Ahrbach: 14
JSG Mendig/Welling: 14
TV Arzheim, TG Boppard un TuS Ahrbach kommen doppelt vor und dafür kommen HSV Rhein-Nette, TV Bassenheim und HSG Hachenburg/Bad Marienberg gar nicht vor.
Ich glaube, der Fehler liegt bei der Ausgabe Mannschft[x]...ich weiß aber nicht, was ich ändern muss, damits funktioniert...

Kann mir jemand helfen?
  Mit Zitat antworten Zitat