vectoren vergleichen bei vermischten worte



  • Hallo,

    ich habe 2 Textdateien, die ich vergleichen will. Das Problem ist aber, dass in der 2ten Textdatei die Wörter vermischt sind. z.b. in der 1sten Textdatei steht: "Hallo" und in der 2ten Textdatei steht dann "lhoal".

    Jetzt habe ich die beiden textdateien in jeweils 1 Vector geladen. aber wie vergleiche ich das jetzt? ich würde jetzt aus der 2ten Vector den String zerlegen und die Anzahl der buchstaben vergleichen. Wie würde das am schnellsten gehen?



  • Am einfachsten wäre es vermutlich, die beiden Strings zu sortieren und dann auf Gleichheit zu überprüfen.

    Wobei bei Deinem Beispiel:

    "Hallo" und in der 2ten Textdatei steht dann "lhoal".

    mit nicht ganz klar ist, soll der Vergleich nun ergeben, dass die beiden gleich sind, oder sollen sie als ungleich erkannt werden?

    Im ersten Fall musst Du noch vorher alles in Klein- oder Großbuchstaben umwandeln.



  • aso sorry, nein ich bräuchte dann das Wort, welches daraus entstehen könnte. in meinem Fall soll mir dann Hallo angezeigt werden



  • Nein Anzahl woerter funktioniert nicht als einziges Kriterium.

    Ich würde erstmal die Anzahl der Wörter zählen und falls die nicht matchen ist das Wort nicht das selbe. Jetzt musst du aber noch rausfinden ob die selben Buchstabe in Wort sind.

    Ich würde jeden einzelnen Buchstaben in deinem richtigen Wort in dem verdrehten Wort suchen und dort dann rauslöschen. Falls bei dem Prozess du einen Buchstaben nicht findest oder ein Buchstabe im verdrehten Wort übrig bleibt weißt du sie sind nicht gleich.

    (Das Löschen müsste deswegen notwendig sein, da es ja sein kann das Buchstaben in beiden Wörtern mehrfach vorkommen können und du musst ausschließen das du immer den selben Buchstaben findest.



  • Du musst noch beachten, dass die Zuordnung nicht eindeutig sein muss.

    Zum Beispiel:
    miese
    Meise

    -> in was soll "esmie" konvertiert werden?

    Gibt bestimmt auch weniger miese Beispiele als meines 😉

    Eine mögliche Lösung wäre also eine multimap. Als Key nimmst du die nach Einzelbuchstaben sortierten Wörter (hier also: eeims) und als Value alle erlaubten Zielwörter (hier: miese, Meise). Dann brauchst du nur noch in der Map nachzugucken und fertig ist die Laube.



  • trix0matrix9 schrieb:

    aso sorry, nein ich bräuchte dann das Wort, welches daraus entstehen könnte. in meinem Fall soll mir dann Hallo angezeigt werden

    Versteh ich nicht. Du hast doch in der ersten Textdatei das Wort Hallo, das entstehen soll?

    trix0matrix9 schrieb:

    aso sorry, nein ich bräuchte dann das Wort, welches daraus entstehen könnte. in meinem Fall soll mir dann Hallo angezeigt werden

    Versteh ich nicht. Du hast doch in der ersten Textdatei das Wort Hallo, das entstehen soll?

    trix0matrix9 schrieb:

    in der 1sten Textdatei steht: "Hallo" und in der 2ten Textdatei steht dann "lhoal".

    Vielleicht beschreibst Du noch einmal GENAU, was Du machen willst und wie GENAU Deine zwei Textdateien aussehen.


Anmelden zum Antworten