Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Arrays

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • danix
    hat ein Thema erstellt Problem mit Arrays.

    Problem mit Arrays

    Hallo Leute ich bin am Verzweifeln weil es so viele Array Funktionen gibt, aber keine die mir hilft

    Ich habe ein Array Beispiel $xydata1 = array(1,2,3,4,5)

    Nun will ich erreichen dass ich immer den Wert 1+2 zusammenzählen kann ihn durch 2 teile (weil es zwei Wetre waren) und diesen Wert dann in einem neuen Array speichere. Danach will ich dann Wert 1 + 2 + 3 zusammen zählen und diesen durch 3 teilen. Ich habe alle möglichen Schleifen ausprobiert aber es klappt einfach nicht.

    Da die Erkläung vielleicht etwas schwer verständlich ist folgendes: Leihenhaft könnte man es so lösen -> siehe Code. Also das Ergebnis das heraus kommt stimmt, aber es ist Code ohne Ende:

    PHP-Code:
    array_push($ydatamw1,$ydata1["1"]);
    array_push($ydatamw1,($ydata1["1"] + $ydata1["2"])/3);
    array_push($ydatamw1,($ydata1["1"] + $ydata1["2"] + $ydata1["3"])/4);
    array_push($ydatamw1,($ydata1["1"] + $ydata1["2"] + $ydata1["3"] + $ydata1["4"])/5);
    array_push($ydatamw1,($ydata1["1"] + $ydata1["2"] + $ydata1["3"] + $ydata1["4"] + $ydata1["5"])/6);
    array_push($ydatamw1,($ydata1["1"] + $ydata1["2"] + $ydata1["3"] + $ydata1["4"] + $ydata1["5"] + $ydata1["6"])/7); 
    usw... das ganze ist für 53 Werte und daher ganz schön viel Code, ich denke das lässt sich garantiert eleganter lösen?!

    Vielen Dank vorab!

  • Chriz
    antwortet
    Wenn du fortlaufende Zahlen hast, kannst du den "kleinen Gauß" benutzen:
    Gaußsche Summenformel – Wikipedia
    Dann musst du den Array nicht durchlaufen, sondern du berechnest das Ergebnis direkt Anhand von "n".

    Einen Kommentar schreiben:


  • Destruction
    antwortet
    -.-
    Ich liefere dir eine fertige Lösung. Da kann ich wohl erwarten dass du selbst schaust was der code macht oder?
    count zählt die array-Elemente.
    d.h. er macht das so lange bis dein array durchlaufen wurde.

    cu
    Grüße

    Einen Kommentar schreiben:


  • danix
    antwortet
    und wie steuere ich damit, dass die Schleife bei 53 endet? vermutlich mit der +2?

    Einen Kommentar schreiben:


  • Destruction
    antwortet
    for-Schleifen

    PHP-Code:
    <?php
    $ydata1 
    = array(1=>1,2=>2,3=>3,4=>4,5=>5);
    $data count($ydata1) + 1;
    $ydatamw1 = array();
    for(
    $i 2;$i $data$i++) {
           for(
    $z 1$z <= $i$z++) {
               
    $newarray += $ydata1[$z];
          }
         
    array_push($ydatamw1,$newarray/$i);
         
    $newarray 0;
    }
    ( ungetestet )

    Einen Kommentar schreiben:

Lädt...
X