Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zufallswörter (https://www.delphipraxis.net/57457-zufallswoerter.html)

Wargrave 21. Nov 2005 18:03


Zufallswörter
 
Halli Hallo!
Ich bin gerade am raten.
Das kann doch garnich so schwer sein so etwas zu programmieren aber ich kriegs einfach net hin!
Ich habe 9 Buchstaben zur verfügung U R L T K A D P E .
Aus diesen Chars soll man ein Wort bilden.
Meine Synapsen reichen dafür ncih emrh aus.
Ich randomize mir hier einen zurecht aber kireg das ncih auf die reihe.
der soll alle buchstaben irgendwie kombinieren und in ne list box reinhauen!
dann guck man halt durch ob was vernünftiges dabei is.
So is der Plan.
Kann mir mal bitte einer en denkanstoß geben?
Mfg Patrick

Khabarakh 21. Nov 2005 18:11

Re: Zufallswörter
 
[wird überarbeitet *g*]

Waldteufel 21. Nov 2005 18:13

Re: Zufallswörter
 
Hi.

Mit Zufall hat das ja nicht unbedingt was zu tun... Du willst wohl eher alle Möglichkeiten durchprobieren, oder?

Ich würde es so machen (Pseudocode):

Code:
[b]Konstante[/b] Bv [i]{ Buchstabenvorrat }[/i] = ('U', 'R', 'L', 'T', 'K', 'A', 'D', 'P', 'E');
[b]Variable[/b] b1, b2, b3 [i]{, ...}[/i] ;

[b]für alle[/b] b1 [b]in[/b] Bv [b]tue[/b]
  [b]für alle[/b] b2 [b]in[/b] (Bv [b]ohne[/b] (b1)) [b]tue[/b]
    [b]für alle[/b] b3 in (Bv [b]ohne[/b] (b1, b2)) [b]tue[/b]
       [i]{ ... bis schlussendlich: }[/i]
         ZuListboxHinzufügen(NeuerString(b1, b2, b3, ...));

Nikolas 21. Nov 2005 18:15

Re: Zufallswörter
 
Hat dir dein Lehrer ein Wörerbuch gegeben, um die Worte auf Sinngehalt zu prüfen?

Bei den Buchstaben wird es das einfachste sein, einen String aus allen Zeichen zu nehmen und dann ein paar Mal zwei Buchstaben zufällig auszutauschen. Wenn du das ein paar Hundert mal machst, wirst du an alle Möglichkeiten kommen.
Wenn du alle Möglichkeiten brauchst, könntest du es so machen, dass du alle Permutationen der Zahlen 1-9 anzeigen lassen und die Zahlen dann durch Buchstaben ersetzen.

malo 21. Nov 2005 18:30

Re: Zufallswörter
 
Zitat:

Zitat von Toxman
Bei den Buchstaben wird es das einfachste sein, einen String aus allen Zeichen zu nehmen und dann ein paar Mal zwei Buchstaben zufällig auszutauschen. Wenn du das ein paar Hundert mal machst, wirst du an alle Möglichkeiten kommen.

Gibt es denn nicht nur 81 (9*9) Möglichkeiten, wie die Buchstaben angeordnet sind? Oder vertu ich mich da gerade? :gruebel:

Denn, wieso "ein paar hundert Mal" machen, wenn 81 mal reichen?

Wenn man trotzdem Zufall einbauen will, sollte man auch Buchstaben zufällig austauschen. Dabei aber bekannte Kombinationen merken und ausschließen ;)

Neutral General 21. Nov 2005 18:35

Re: Zufallswörter
 
Zitat:

Zitat von malo
Zitat:

Zitat von Toxman
Bei den Buchstaben wird es das einfachste sein, einen String aus allen Zeichen zu nehmen und dann ein paar Mal zwei Buchstaben zufällig auszutauschen. Wenn du das ein paar Hundert mal machst, wirst du an alle Möglichkeiten kommen.

Gibt es denn nicht nur 81 (9*9) Möglichkeiten, wie die Buchstaben angeordnet sind? Oder vertu ich mich da gerade? :gruebel:

Denn, wieso "ein paar hundert Mal" machen, wenn 81 mal reichen?

Wenn man trotzdem Zufall einbauen will, sollte man auch Buchstaben zufällig austauschen. Dabei aber bekannte Kombinationen merken und ausschließen ;)

Klar aber es kann auch mal sein das Kombinationen doppelt vorkommen ;)

St.Pauli 21. Nov 2005 18:38

Re: Zufallswörter
 
Zitat:

Zitat von Neutral General
Klar aber es kann auch mal sein das Kombinationen doppelt vorkommen ;)

Dann müsste man die Wörter, die schon erstellt wurden alle bei jedem Hinzufügen durchgehen. Wenn es schon existiert, das ganze Wort nochmal neu erstellen,...

alzaimar 21. Nov 2005 18:39

Re: Zufallswörter
 
Stichwort: Permutationen. Benutze die Suchfunktion hier oder im Delphi-Forum. Ich (und Andere) haben uns darüber ausgelassen.

cruso 21. Nov 2005 18:44

Re: Zufallswörter
 
Zitat:

Zitat von Waldteufel
Code:
[b]Konstante[/b] Bv [i]{ Buchstabenvorrat }[/i] = ('U', 'R', 'L', 'T', 'K', 'A', 'D', 'P', 'E');
[b]Variable[/b] b1, b2, b3 [i]{, ...}[/i] ;

[b]für alle[/b] b1 [b]in[/b] Bv [b]tue[/b]
  [b]für alle[/b] b2 [b]in[/b] (Bv [b]ohne[/b] (b1)) [b]tue[/b]
    [b]für alle[/b] b3 in (Bv [b]ohne[/b] (b1, b2)) [b]tue[/b]
       [i]{ ... bis schlussendlich: }[/i]
         ZuListboxHinzufügen(NeuerString(b1, b2, b3, ...));

Das müsste eigentlich funktionieren!

Duffy 21. Nov 2005 18:55

Re: Zufallswörter
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Patrick,
ein Denkanstoss wäre das anhängende Beispiel, aber es sind Zufallswörter, die keinen Sinn ergeben ...

bye
Claus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.
Seite 1 von 2  1 2      

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