Zugriff auf (MS Word) Wörterbuch



  • Hallo,
    gestern bin ich mal wieder im "Vorbeizappen" bei einem bekannten Quizsender hängen geblieben. Gegeben war ein 3x3-Feld mit Buchstaben, die in die richtige Reihenfolge gebracht werden sollten, um ein richtiges Wort daraus zu bilden.
    Da habe ich mir gedacht, dass man das doch eigentlich durch ein Programm lösen könnte. Einfach alle Möglichkeiten auszugeben, wie man die 9 Buchstaben kombinieren kann, ist ja kein Problem; allerdings gibt das nach meinen Berechnungen 9! = 362880 "Wörter". Man müsste die Ergebnisse also am besten auf tatsächliche Existenz in einem Wörterbuch prüfen und dann nur die vorhandenen ausgeben. Wer weiß, ob es da nicht manchmal mehrere Lösungen gibt! 😉

    Mein Problem ist nun jedenfalls, wie ich an ein Wörterbuch komme. Kann ich irgendwie auf das MS Word interne zugreifen? Unter http://www.canoo.net gibt es online eine brauchbare Version. In beiden Fällen wäre die Frage dann, wie ich darauf zugreifen kann, um die Wörter zu testen, UND wie ich dann überhaupt eine Rückmeldung auslesen kann, ob das Wort denn nun gefunden wurde oder nicht.

    Es wäre nett, wenn mir da jemand helfen würde 🙂

    Gruß, ph4nt0m



  • Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • jeder mit nem IQ > 50 kann das in 1 min auch selber lösen



  • Ich glaube, du hast die Absicht hinter dem ganzen nicht verstanden (IQ < 50?). Sorry, aber bei solchen "Antworten" weiß ich echt nicht was ich sagen soll 😮 Wie sinnvoll so ein Programm sein würde, kannst du GERNE anzweifeln, aber es ging mir einfach nur darum, eventuell mehrere Lösungen zu ermitteln. Außerdem kam mir diese Idee zufällig und da ich zur Zeit sowieso keine Idee für ein Programm habe, wollte ich das einfach mal probieren.

    Es scheint ja komplex genug zu sein. Du hast schließlich keine Lösung...
    Eventuell gibt es hier ein paar (registrierte) User, die mir etwas Konstruktiveres anbieten können 🙂

    ph4nt0m



  • wäre es nicht sinnvoller die wörter aus aspell oder dergleichen zu extrahieren? offene formate sind ftw 😉



  • Die Idee finde ich vom Ansatz her gut, ich denke aber, dein Problem wird einfach die Zeit sein: Bedenke, dass du für deine Methode über 362.000 Abfragen machen müsstest...

    Edit:
    (Den wichtigen Teil meiner antwortet einfach vergessen)
    Deswegen würde ich beim entwickeln eines Algos z.B. schon eine Vorauswahl treffen.
    Z.B. alle Wörter mit doppeltem ii, oder dreimal derselbe Buchstabe rausschmeißen, andere unmögliche Konstellationen etc.
    Mir fallen gerade keine sinnvollen Regeln ein, aber da müssten sich bestimmt ein paar finden lassen



  • W0lf schrieb:

    Die Idee finde ich vom Ansatz her gut, ich denke aber, dein Problem wird einfach die Zeit sein: Bedenke, dass du für deine Methode über 362.000 Abfragen machen müsstest...

    Nicht, wenn man es gut optimiert.
    Du könntest z.B. die Menge der Buchstaben (Reihenfolge egal) als Schlüssel für eine Multi-Map nehmen. Dann würdest du einfach dort nachsehen und bekämst alle Wörter raus, die genau aus diesen Buchstaben bestehen.
    Natürlich musst du diese Map einmal aufbauen.
    Ich denke, dass es schwierig ist, auf das Microsoft-Wörterbuch zuzugreifen. Aber es gibt doch sowas auch im Open Source-Bereich, z.B. bei Open Office.



  • TomasRiker schrieb:

    Du könntest z.B. die Menge der Buchstaben (Reihenfolge egal) als Schlüssel für eine Multi-Map nehmen. Dann würdest du einfach dort nachsehen und bekämst alle Wörter raus, die genau aus diesen Buchstaben bestehen.

    Das habe ich nicht verstanden. Was meinst du denn mit "Multi-Map"?

    ~Edit: Tags zerstückelt~



  • Eine Multi-Map ordnet einem Schlüssel beliebig viele Werte zu (1:n). In diesem Fall würden einer Menge von Buchstaben die Wörter zugeordnet, die aus diesen Buchstaben bestehen.
    In der Standardbibliothek gibt es dafür std::multi_map<Key, Value>.



  • Hallo,

    es tut mir leid, dass ich mich erst so spät wieder melde. Vielen Dank für die Vorschläge zur Lösung meines "Problems" 👍
    Ich habe mir jedenfalls "aspell" mal angeschaut, allerdings scheint es damit ein Problem in Verbindung mit VC++ 2005 zu geben, das auch bei anderen bekannt ist. Wenn ich etwas mehr Zeit habe, werde ich mich da nochmal einlesen und eventuell eine Lösung für dieses Problem finden.

    ph4nt0m


Anmelden zum Antworten