Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#7

AW: Suche schnellen kombinatorischen Algorithmus

  Alt 24. Feb 2011, 12:47
Also wenn ich das richtig verstehe suchst du die erste Kombination die dein Kriterium erfüllt.

Na dann versuch es mal hiermit:

Delphi-Quellcode:
procedure EineStelle(n, k, Stelle, MinWert: Byte; Kombination, Ergebnis, Kriterium : string; gefunden : boolean);
var
  MaxWert, AktWert: Byte;
  i : integer;
begin
  for AktWert := MinWert to k - (n - Stelle) do
  begin
    if (Stelle < n) then
    begin
      EineStelle(n, k, Stelle+1, AktWert+1, Kombination + IntToStr(AktWert) + ' ', Ergebnis, Kriterium, gefunden);
      if gefunden then
      begin
        Break;
      end;
    end
    else
    begin
      if Kombination + IntToStr(AktWert) = Kriterium then
      begin
        Ergebnis := Kombination + IntToStr(AktWert);
        Break; // bricht die for schleife ab
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat