Jellysheep
Erfahrenes Mitglied
Herkunft der Frageliste:
Die Bruteforce-Technik ist eine gute Idee:
mal angenommen, man hat 100 Fragen in der Liste und ein Rätsel mit 10*10 Feldern, dann hat man auch nur höchstens 10.000 Möglichkeiten, die zu überprüfen sind. Das geht sicher schnell durch.
Eine andere Möglichkeit: (mit "man" ist das Programm gemeint )
offtopic: Wenn du auf "Beitrag ändern" klickst, kannst du ihn auch löschen.
Die Bruteforce-Technik ist eine gute Idee:
mal angenommen, man hat 100 Fragen in der Liste und ein Rätsel mit 10*10 Feldern, dann hat man auch nur höchstens 10.000 Möglichkeiten, die zu überprüfen sind. Das geht sicher schnell durch.
Eine andere Möglichkeit: (mit "man" ist das Programm gemeint )
Man lädt die Liste in das Programm ein (oder behält sie einfach in der Datenbank). Dann mischt man sie kräftig durch, indem man z.B. aus einem Array mit Fragen zufällig Wörter herausnimmt und in ein anderes Array hineinsteckt.
Dann fängt man mit einem Wort links oben an und setzt es in ein zweidimensionales Array hinein. Man sucht Wörter, die als Anfangsbuchstaben einen Buchstaben des ersten Wortes enthalten und setzt diese vertikal in das Array ein. Wenn hier mehrere Worte drin sind, sucht man wieder nach horizontal passenden Wörter.
Damit hätte man ein ausgefülltes Kreuzworträtsel, also kann man nebenher in ein anderes Array die Nummern für die Wörter eintragen.
Wenn am Ende zu wenig Wörter hineinpassen, kann man wieder mit dem Mischen der Liste anfangen und es aufs Neue versuchen.
Dann fängt man mit einem Wort links oben an und setzt es in ein zweidimensionales Array hinein. Man sucht Wörter, die als Anfangsbuchstaben einen Buchstaben des ersten Wortes enthalten und setzt diese vertikal in das Array ein. Wenn hier mehrere Worte drin sind, sucht man wieder nach horizontal passenden Wörter.
Damit hätte man ein ausgefülltes Kreuzworträtsel, also kann man nebenher in ein anderes Array die Nummern für die Wörter eintragen.
Wenn am Ende zu wenig Wörter hineinpassen, kann man wieder mit dem Mischen der Liste anfangen und es aufs Neue versuchen.