AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi 9Live Buchstaben Salat-Spiel
Thema durchsuchen
Ansicht
Themen-Optionen

9Live Buchstaben Salat-Spiel

Ein Thema von NMR · begonnen am 11. Mai 2006 · letzter Beitrag vom 7. Apr 2012
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
NMR

Registriert seit: 1. Feb 2006
Ort: Beckum
19 Beiträge
 
#1

9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 20:27
Hi,
ich hätte mal eine frage^^, ich würde gern ein Programm schreiben, dass ein Buchstabelsalt
zn gelvo in alle möglichen kombinationen wiedergibt.
hier z.b
gelvo
ogelv
vogel
lvoge
elvog

ich wollte die zeichenkette dann in array machen und bla..dann in einer schleife...aber ka irgenwie
klappt das nicht so ganz. Wär super wenn ihr mir dabei helfen könnten!!!
Danke euch schon mal jetzt
Bis dann
NMR
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 20:30
das sind aber nicht alle kombinationen...

Such am besten mal bei google nach Anagramm. Ich denke, das hilft mehr, als sich ein Programm ohen Wörterbuch etc. zu schreiben.
  Mit Zitat antworten Zitat
NMR

Registriert seit: 1. Feb 2006
Ort: Beckum
19 Beiträge
 
#3

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 20:44
nee will das schon gerne selber schreiben ^^ das doch der spaß an der sache...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 20:53
Die Anzahl der Möglichkeiten berechnet sich bei n Stellen immer nach n!. Also 1*2*3...*n

Bei 9 Stellen wären das dann 9! = 1*2*3*4*5*6*7*8*9 = 362880 Möglichkeiten.

Das nur so nebenbei.

Du musst einfach das Ding als Array nehmen und dann auf zufällige Stellen des Wortes zugreifen, wobei du aufpassen musst, auf keinen bereits verwendeten Buchstaben zu stoßen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 20:54
<delphi>wegen Nichtbeachtung gelöscht</delphi>
  Mit Zitat antworten Zitat
Benutzerbild von tn249
tn249

Registriert seit: 18. Jan 2004
Ort: München
164 Beiträge
 
Delphi 2005 Personal
 
#6

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 21:02
Zitat von 3_of_8:
Die Anzahl der Möglichkeiten berechnet sich bei n Stellen immer nach n!. Also 1*2*3...*n

Bei 9 Stellen wären das dann 9! = 1*2*3*4*5*6*7*8*9 = 362880 Möglichkeiten.

Das nur so nebenbei.

Du musst einfach das Ding als Array nehmen und dann auf zufällige Stellen des Wortes zugreifen, wobei du aufpassen musst, auf keinen bereits verwendeten Buchstaben zu stoßen.
Stimmt nicht wenn ein Buchstabe mehr als einmal vorkommt.

"Stamm" zB hat 5! / 2!.

Die 2! kommt daher, weil die "m"s in Stamm nicht unterscheidbar sind.

Gruß
Thomas
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#7

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 21:11
Diese Dinger nennen sich "Permutationen". Dazu gibts hier in der DP einige Codes, zB einen von Hagen (der wohl - so wie wir Hagen kennen - recht effizient sein dürfte ): http://www.delphipraxis.net/internal...ect.php?t=7561
Dann gibts in der CodeLib noch einen von glkgereon: http://www.delphipraxis.net/internal...ct.php?t=74277

Ich hab mir beide Codes jetzt nicht genauer angeschaut, aber du bekommst die Permutationen zB, indem du rekursiv in deiner Ausgangsfolge 2 Stellen vertauschst. Der Code dazu ist nichtmal allzu schwer. Ich denke aber mal, daß Hagen und glkgereon sich etwas mehr Gedanken gemacht und dann einen etwas performanteren Code entwickelt haben
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
NMR

Registriert seit: 1. Feb 2006
Ort: Beckum
19 Beiträge
 
#8

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 22:18
jo vielen dank klappt wunderbar!!!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 22:21
Zitat von tn249:
Stimmt nicht wenn ein Buchstabe mehr als einmal vorkommt.

"Stamm" zB hat 5! / 2!.

Die 2! kommt daher, weil die "m"s in Stamm nicht unterscheidbar sind.
Ich gebe zu, ich habe mich undeutlich ausgedrückt. Ich meinte "Man muss aufpassen, dass man nicht eine Stelle des Wortes, also ein Zeichen des Wortes zwei mal dran nimmt, im Sinne von dass man zwei mal den gleichen Index hat.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#10

Re: 9Live Buchstaben Salat-Spiel

  Alt 11. Mai 2006, 22:23
Leider gibt es ja in Delphi keine STL Dort gibt es die Funktionen "next_permutation" und "prev_permutation" genau für diese Zwecke.
Allerdings gibt es doch für Delphi ähnliche Containerklassen wie in der STL, hab ich mal irgendwo gelesen, glaub sogar von den JEDIs. Oder ich irre mich komplett... Aber falls nicht, könnte es dort doch auch solche Funktionen geben.
btw: ein Kleines Prog für Buchstaben-Salat: Wortsuche
Gruß, Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 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