Übereinstimmungen von 2 Zahlenstrings prüfen

  • Hi,

    mein Problem:

    Ich schreibe ein Skript, das mir die aktuellen Lottozahlen aus dem Internet lädt und sie dann mit meinen vorgegebenen vergleicht. Die GUI ist fertig. Er holt die aktuellen aus dem Internet,lädt meine aus ner txt-Datei. Aber was noch fehlt ist der Vergleich.^^

    Bin bei meiner Suche auch auf den Levensthein-Algorithmus gestossen aber weiss nich ob die .dll bei meinem Problem hilft und falls ja, wie ich die .dll einsetze.

    Also ich habe zwei Strings die etwa so aussehen: String1 = 1 5 7 12 23 34 und String2 = 5 12 21 34 39 45

    also je 6 ein- oder zweistellige Zahlen durch eine Leertaste getrennt.

    Ich möchte nun gerne, dass mir das Programm sagt, wie viele Zahlen gleich sind.

    Hoffe ihr könnt mir helfen

    Mfg Au3Scripter

    Einmal editiert, zuletzt von Au3Scripter (11. August 2010 um 15:22)

  • Mach doch aus beiden Strings ein Array mit jeweils den Zahlen drin...
    Dann lässt du 2 Schleifen ineinander laufen und jede Zahl aus String 1 mit jeder Zahl aus String 1 vergleichen.
    Wenns übereinstimmt ne Variable + 1 und Schleife geht weiter...
    Ganz einfach Oo.

    Obs das nu in schneller schon gibt, kann ich dir nicht sagen^^... Aber so kannst du es auf jeden Fall lösen :p...

    Habe kein AutoIt grade, sonst würd ichs dir schnell hin schreiben, aber einfach 2 For-Schleifen, Strings mit StringSplit oder StringRegExp oder wie auch immer du sie bekommst, in ein Array packen und dann einfach Step by Step vergleichen lassen...


    LG

  • Hallo.
    Am besten machst du es so, es sollte einwandfrei laufen.

    [autoit]

    #include <String.au3>
    $String1 = "1 5 7 12 23 34"
    $String2 = "5 12 21 34 39 45"
    $Zahlen1 = _StringExplode($String1, " ")
    $Zahlen2 = _StringExplode($String2, " ")

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To UBound($Zahlen1) - 1
    For $x = 0 To UBound($Zahlen2) - 1
    If $Zahlen1[$i] == $Zahlen2[$x] Then
    MsgBox(0, "Gleichheit", "Die Zahlen " & $Zahlen1[$i] & " und " & $Zahlen2[$x] & " sind gleich!")
    EndIf
    Next
    Next

    [/autoit]

    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • hab auch grad was gebastelt ^^

    Spoiler anzeigen
    [autoit]

    $String1 = "1 5 7 12 23 34"
    $String2 = "5 12 21 34 39 45"

    [/autoit] [autoit][/autoit] [autoit]

    $a1 = StringSplit($String1 & " " & $String2, " ")
    For $i = 1 To $a1[0] - 1
    For $i2 = $i + 1 To $a1[0]
    If $a1[$i] = $a1[$i2] Then MsgBox(0,"",$a1[$i])
    Next
    Next

    [/autoit]
  • Genau, das meinte ich ;D...
    Und da kannste nun noch einfach nen Zähler einbauen oder ein 1D-Array mit [6] Werten, dass du mit Übereinstimmungen befüllen lässt ;)...

    LG