peter17: Schleife: Zahlen addieren

Hallo,

ich möchte gerne in einer Schleife bewerkstelligen, dass eine bestimmte Anzahl von Summanden (maximal 5), die vom Benutzer festgelegt wird, addiert werden. Der Benutzer soll also ein Eingabefenster bekommen mit "Wieviele Zahlen möchtest du addieren?" - soweit kein Problem. Dieser Anzahl entsprechend soll der Nutzer die Zahlen eingeben, die miteinander addiert werden sollen.

Beispiel:

"Wieviele Zahlen möchtest du addieren?" -> Antwort: 4
"Zahl 1 eingeben" -> Antwort: 3
"Zahl 2 eingeben" -> Antwort: 55
"Zahl 3 eingeben" -> Antwort: 62
"Zahl 4 eingeben" -> Antwort: 123

Nun soll also 3+55+62+123 addiert werden, das Ergebnis soll also 243 sein und dementsprechend ausgegeben werden. Vielleicht kann mir da ja mal jemand auf die Sprünge helfen. Das ganze soll dann natürlich auch für die anderen Rechenarten funktionieren, aber das bastel' ich mir dann selbst zurecht, nachdem mir jemand einen Ansatz verraten hat.

Vielen Dank im Voraus!

  1. Hi!

    Was eine http://de.selfhtml.org/javascript/sprache/schleifen.htm#@title=for-Schleife ist, weisst du?

    --
    Schäme Dich nicht, wenn Du eine Antwort nicht verstehst und frag nochmal nach.
     
    1. Hi!

      Was eine http://de.selfhtml.org/javascript/sprache/schleifen.htm#@title=for-Schleife ist, weisst du?

      Hallo,

      ja, die verschiedenen Schleifentypen sind mir bekannt, nur das Implementieren bereitet mir Schwierigkeiten. Die Variable - meinetwegen ergebnis - muss ja zahl1 + zahl 2 + ggf. zahl3 + ggf. zahl4 beinhalten. Nur das ganze dann entsprechend in eine Schleife zu packen, muss ich nochmal überdenken. Vielleicht habe ich ja nur ein Brett vor'm Kopp, kann ja mal passieren ;). Meist fällts mir dann vor dem Einschlafen ein. Mal sehen - für einen Ansatz bin ich natürlich weiterhin offen.

      Gruß!

      1. So warm isses heut doch gar nicht.

        Schema:

        y=0
        for (i=1; i<=anzahl; i++)
        {
         x = eingabe
         y=y+x
        }
        ausgabe y

        --
        Schäme Dich nicht, wenn Du eine Antwort nicht verstehst und frag nochmal nach.
         
        1. So warm isses heut doch gar nicht.

          Schema:

          y=0
          for (i=1; i<=anzahl; i++)
          {
          x = eingabe
          y=y+x
          }
          ausgabe y

          Hallo,

          y=y+x

          danke, genau an der kleinen Stelle hat es gehakt. Ganz logisch eigentlich, warum mir das nicht eingefallen ist - keine Ahnung. Nun funktioniert es. Ich danke dir!

          Gruß

          1. Hallo,

            das mit der Addition funktioniert, bei der Subtraktion komme ich aber nicht weiter. In der Schleife steht y=y+x, bei der Addition funktioniert das mit y=0 im ersten Schleifendurchlauf als Ausgangswert auch, aber beim Subtrahieren gibt er mir als Ergebnis -20 aus, wenn ich auf o.g. Weise 10-10 rechnen lasse.

            Wie kann ich das lösen?

            Danke im Voraus!

            1. Hallo peter17,

              das mit der Addition funktioniert, bei der Subtraktion komme ich aber nicht weiter. In der Schleife steht y=y+x, bei der Addition funktioniert das mit y=0 im ersten Schleifendurchlauf als Ausgangswert auch, aber beim Subtrahieren gibt er mir als Ergebnis -20 aus, wenn ich auf o.g. Weise 10-10 rechnen lasse.

              Wie kann ich das lösen?

              Du rechnest ja gerade nicht 10 - 10, sondern 0 - 10 - 10. Guck dir doch mal die schleife an. Bei der Addition rechnest du ja auch 0 + x + x + ...

              Wie löst man das? Du könntest die erste Zahl addieren statt subtrahieren, oder du könntest y am Anfang statt 0 gleich auf die erste Zahl setzen (und diese natürlich nicht mehr subtrahieren).

              Jonathan

  2. Hallo,

    wie würde das ganze dann mit der Subtraktion funktionieren?

    Das y=y+x funktioniert zwar bei der Addition wunderbar, bei der Subtraktion (also y=y-x) von bspw. 10-10 spuckt er mir das Ergebnis -20 aus. Ist nicht verwunderlich, denn im ersten Schleifendurchlauf ist y=0 definiert, x ist z.B. 10. Das Ergebnis (y) ist dann schon -10, wenn dann noch im zweiten Durchlauf 10 abgezogen werden, kommt man auf -20.

    Wie kann ich das lösen?
    Danke!

    1. Wie kann ich das lösen?

      was kannst du lösen? -10 - 10 ist zwanzig, also ist das das richtige Ergebnis.

      Struppi.

      1. @@Struppi:

        -10 - 10 ist zwanzig, also ist das das richtige Ergebnis.

        Äh, was denn nun: 20 oder das richtige Ergebnis? SCNR.

        Live long and prosper,
        Gunnar

        --
        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
        1. -10 - 10 ist zwanzig, also ist das das richtige Ergebnis.

          Äh, was denn nun: 20 oder das richtige Ergebnis? SCNR.

          Das kommt davon, wenn man Zahlen ausschreibt.

          Struppi.