Einzelnen Beitrag anzeigen

BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#18

AW: Arrayzugriff nimmt irgendwelche Wahllos-Variableninhalte aus Speicher

  Alt 22. Apr 2015, 16:06
Der Code von Sir Rufo ist zum Sortieren eines Array gedacht und dazu müsstest Du die Arrayelemente verschieben.

Da Du aber scheinbar nicht das Array sortieren möchtest, entgegen der Überschrift, sondern nur die Rangfolge der Werte bestimmen möchtest und in SortListNumber hinterlegen ist dies nicht der richtige Algo für Dich.

Auf die Schnelle würde ich dies so lösen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  liZ1: Integer;
  liZ2: Integer;
  lLowerCount: Integer;
  lHigh: Integer;
begin

  lHigh := Length(DynArray) - 1;

  for liZ1 := 0 to lHigh do
   begin
    lLowerCount := 0;
    for liZ2 := 0 to lHigh do
     begin
      if (DynArray[liZ2].Kriterium < DynArray[liZ1].Kriterium) then
       begin
        Inc(lLowerCount);
       end;
     end;
    DynArray[liZ1].SortListNumber := lLowerCount;
   end;

end;
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat