Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Array sortieren mit Permutationen.. (https://www.delphipraxis.net/148409-array-sortieren-mit-permutationen.html)

Ducksoul 16. Mär 2010 17:26

Re: Array sortieren mit Permutationen..
 
Ich habe das Problem jetzt gelöst.. Naja, hatte ich zumindest. Dann is die IDE abgestürzt und nu bekomm ich immer Access Violations die ich noch nicht ganz nachvollziehen kann.
Dazu mache ich dann aber einen neuen Thread ^^

Erstma zu dem Thema hier:

@Kabarhak: Dein Algorithmus war eine Lösung für einen Spezialfall: Es treten nur jeweils 2 gleiche Prios auf. Ansonsten war eine richtite Lösung nicht garantiert.

Meine Herangehensweise:
Berechne für jede Priolist die Anzahl der darauffolgenden möglichen Kombinationen und trage jede Kombi der Liste so oft ins Resultarray. Letztlich war die Lösung simpel.

Hier der Code:

Delphi-Quellcode:
 for i := 0 to jobCount - 1 do
  begin
    for j := 0 to wcCount - 1 do
    begin
      if (i = 0) and (j=0) then
      begin
        resultarray[x,i].j_st[j] := 0;
        resultarray[x,i].j_ft[j] := resultarray[x,i].j_proc[j];
      end else begin
        if (i = 0) and (j >= 1) then
        begin
          resultarray[x,i].j_st[j] := resultarray[x,i].j_ft[j - 1]
        end
        else if (j = 0) and (i >= 1) then
        begin
          resultarray[x,i].j_st[j] := resultarray[x,i - 1].j_ft[j]
        end
        else
        begin
          resultarray[x,i].j_st[j] := Max(resultarray[x,i].j_ft[j - 1], resultarray[x,i - 1].j_ft[j]);
        end;
        resultarray[x,i].j_ft[j] := resultarray[x,i].j_st[j] + resultarray[x,i].j_proc[j];
      end;
    end;
  end;

Lief ohne Exceptions bis zu meinem jetzigen Problem. Vielen Dank für die Hilfe an alle :)

Gruß
Franz

Khabarakh 16. Mär 2010 21:07

Re: Array sortieren mit Permutationen..
 
Zitat:

Zitat von Ducksoul
Kabarhak

Danke.
Zitat:

Zitat von Ducksoul
Dein Algorithmus war eine Lösung für einen Spezialfall

Nö. Der Fehler in deinem Code ist die Variable jobs, die es in meinem überhaupt nicht gibt. /edit: Sind noch ein paar Abschreibfehler drin

Zitat:

Zitat von Ducksoul
Berechne für jede Priolist die Anzahl der darauffolgenden möglichen Kombinationen und trage jede Kombi der Liste so oft ins Resultarray. Letztlich war die Lösung simpel.

Ich verstehe deinen Code zwar nicht (was bei der Namensgebung kein großes Wunder ist - wcCount finde ich allerdings gut ;) ), aber das Prinzip kenne ich doch irgendwoher :gruebel: .

...

Naja, wenigstens läufts ;) .

Ducksoul 17. Mär 2010 09:20

Re: Array sortieren mit Permutationen..
 
Der Code den ich da von dir abgeschustert hatte war nur ein halbherziger Versuch endlich weiterzukommen. Da ich aber zu dem Zeitpunkt noch nich wirklich hintergestiegen war was du meinst haben mir allerdings ein wenig Elan und Verständnis gefehlt ^^
Naja seis drum. Wie du schon sagst: Wenigstens läufts ^^

PS:

Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Ducksoul
Kabarhak

Danke.

+h :hi:

Horst_ 17. Mär 2010 15:31

Re: Array sortieren mit Permutationen..
 
nichts


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz