1 Diminsionales Array addieren

  • Hallo Zusammen,

    ich bin nochmal :)

    Also wie die Überschrift schon sagt habe ich vor ein Array zuaddieren, allerdings ist das nicht so einfach, da in dem Array !!!keine Zahlen stehen!!!, sonst wäre es ja zu einfach ;)

    Das Array sieht Beispielsweise so aus:autoit.de/wcf/attachment/24157/

    Die Einträge varrieren allerdings, und ich weis wie in der Mathematik ebenfalls nicht, was vorher für Einträge darin stehen werden.

    Meine Frage wäre nun, wie ich herausbekomme, wie oft welches Wort vorkommt, also z.B wie oft Etage1 in dem Array steht.
    Geht das wie wenn ich einfach Zahlen im Array addieren würde oder anders?

    =)

  • Meine Frage wäre nun, wie ich herausbekomme, wie oft welches Wort vorkommt, also z.B wie oft Etage1 in dem Array steht.


    Das geht ziemlich einfach - durchgehen und zählen.
    Beispiel:

    Häufigkeitsverteilung von einem Array
    [autoit]

    #include <Array.au3>

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

    Global $a_Array = ["Etage1", "Etage2", "Etage3", "Etage1", "Etage1", "Etage3", "Etage4"]

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

    Global $a_Histogramm = HistogramFromArray($a_Array)
    _ArrayDisplay($a_Histogramm)

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

    Func HistogramFromArray(ByRef $a_Array, Const $d_Start = 0)
    Local $o_Count = ObjCreate("Scripting.Dictionary")

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

    For $i = $d_Start To UBound($a_Array) - 1
    $o_Count($a_Array[$i]) += 1
    Next
    Local $a_Ret[$o_Count.Count][2]

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

    $c = 0
    For $i In $o_Count
    $a_Ret[$c][0] = $i
    $a_Ret[$c][1] = $o_Count($i)
    $c += 1
    Next

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

    Return $a_Ret
    EndFunc ;==>HistogramFromArray

    [/autoit]

    Geht das wie wenn ich einfach Zahlen im Array addieren würde oder anders?


    Den Teil habe ich nicht verstanden.

  • Ein stilistisch unschönerer Weg, der vielleicht für Dich besser verständlich ist: Verwende

    [autoit]

    #include-once
    #include <Array.au3>
    _ArrayFindAll()

    [/autoit]

    in einer Schleife für alle Elemente des Arrays $a_Array von AspirinJunkie und trage die Ergebnisse, d. h. die Anzahl der Indizes je Element in $a_Array (hierzu vielleicht:

    [autoit]

    UBound()

    [/autoit]

    ), in Dein Histogramm-Array ein.