Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi n-Dame: Ergebnisse in Listbox ausgeben (https://www.delphipraxis.net/60487-n-dame-ergebnisse-listbox-ausgeben.html)

muetzentraeger 7. Jan 2006 15:24


n-Dame: Ergebnisse in Listbox ausgeben
 
Hallo, ich habe eine Frage und zwar versuche ich das n-Dame Problem zulösen. Genauer gesagt das 8-Damenproblem. Dies gelingt mir auch recht gut, aber die Ausgabe entspricht nicht meinen Vorstellungen. Ich habe eine ListBox genommen. Mein Algorithmus berechnet die Zeile in der die Dame stehen soll. Nur gibt er alle Zeile in der ListBox untereinander aus. Es sollte aber so sein, dass er immer 8 in eine zeile nimt und dann erst die Zeile wechselt. Es wäre sehr nett wenn mir jemand weiterhelfen könnte.

marabu 7. Jan 2006 15:57

Re: n-Dame: Ergebnisse in Listbox ausgeben
 
Herzlich Willkommen in der Delphi-PRAXiS.

Meinst du nicht, dass ein StringGrid die bessere Lösung für dein Visualisierungsproblem ist? Immerhin kannst du damit ohne größeren Aufwand ein Schachbrett andeuten.

Freundliche Grüße vom marabu

alzaimar 7. Jan 2006 16:03

Re: n-Dame: Ergebnisse in Listbox ausgeben
 
Ich glaub, er will die Lösung als Liste von Positionen anzeigen. Da jeweils nur eine Dame pro Spalte vorkommen darf, sollte eine Ausgabe wie z.B.
1,4,6,8,2,5,3,7 ausreichen.

Bastel Dir die Lösung zuerst in einen String und den fügst Du dann an die ListBox.Items an:
Delphi-Quellcode:
Function ArrayToStr (anArray : Array Of Integer) : String;
Var
  i : Integer;

Begin
  Result := '';
  For i:=Low(anArray) To High (anArray) do
    Result := Result + IntToStr (anArray[i])+',';
  If Length (Result)>0 Then // Letztes ',' wieder wegschnippeln
    SetLength (Result, Length (Result) - 1);
End;


Procedure TForm1.AddSolution (aSolution : Array Of Integer);
Begin
  ListBox1.Add (ArrayToStr (aSolution))
End;

muetzentraeger 7. Jan 2006 16:09

Re: n-Dame: Ergebnisse in Listbox ausgeben
 
Naja schon, meine eigentliche Aufgabe ist es die Schritte, die das Programm nimmt zu verdeutlichen. Es soll einmal ein simulationsprogramm für backtracking entstehen, in dem jeder Zug der Dame verdeutlich wird. Das möchte ich mit Hilfe vpn Bildern tun. Aber darüber hab ich mir noch keine Größeren Gedanken gemacht. Das wird der nächste große SChritt, aber bis dahin wollte ich durch die Ausgabe in einer ListBox ein Kontroll möglichkeit schaffen. Also, damit ich sehen kann, wenn ich die Bilder hinzufüge, ob die Bilder das machen, was sie sollen.

muetzentraeger 7. Jan 2006 16:36

Re: n-Dame: Ergebnisse in Listbox ausgeben
 
recht herzlich dank an euch beide. ich habe mein problem dank euch gelöst. alzaimar hat genau das probem erkannt. jettz warten weitere auf mich :zwinker:
danke danke danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.

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