Frage von SergeBr, 60

Wie addiere ich den for Schleifen Inhalt?

Hallo, ich möchte die 6 eingelesene Preise addieren und eine Summe erhalten, finde aber kein passenden Befehl dazu mit array. Kann mir bitte einer weiter helfen? Wäre sehr nett.

var pp = []; //Preise der Produkte

for (var i=0 ;i<=5 ;i++ )

pp[i] = parseInt(prompt("Geben Sie bitte den Preis des jeweiligen Produktes ein.",""));

alert(

Antwort
von triopasi, 44

Was bitte hast du vor? Die Summe aller Zahlen eines Arrays bilden? Ist die 6 fest? Warum summierst du nicht gleich die Eingaben auf?

Kommentar von SergeBr ,

die for schleife lautet ja

for (var i=0;i<=5;i++)

heisst das nicht, dass da sechs mal nach einem Wert abgefragt wird? und die abgegefragten Werte will ich addieren.

Wie summiere ich die Eingaben gleich auf?

Kommentar von davidwagn ,

Versteh jetzt glaub ich was du meinst.

Deklarier eine variable summe (VOR der for-Schleife), dann kommt in die Schleife NACH dem Einlesen des Wertes noch ein summe=summe+pp[i]

Kommentar von triopasi ,

Kann ja sein, dass du das noch ändern willst.. Pseudocode: summe = 0 for (...) summe += eingabe() Die For und Eingabe-Zeile wie du sie hast, kanns am Handy halt nicht so gut abtippen ;)

Antwort
von Bujin, 24

Also was du möchtest ist es die Preise der Produkte zu einem Gesamtpreis addieren, den du dann von deinem Kapital in der Geldbörse abziehst.

var pp = []; //Preise der Produkte
var zwSum = 0; //Zwischensumme
var endSum = 0; //Endsumme

for (var i=0 ;i<=5 ;i++ ) {
  pp[i] = parseInt(prompt("Preis: ",""));
  zwSum = zwSum + pp[i];
}

endSum = zwSum;



Kommentar von SergeBr ,

wenn ich drei Artikel habe

Artikel 1 kostet 3 Euro

Artikel 2 kostet 4 Euro

Artikel 3 kostet 6 Euro

Wie kann dass wenn er die Schleife drei mal abfrag und ich diese Preise angebe, die Summe 13 Euro rauskommt?

Antwort
von davidwagn, 37

Um welche Sprache handelt es sich genau?

Dein Array wirst du in vielen Sprachen auch direkt als int[] oder float[] oder double[] deklarieren können, dann weiß der Computer direkt, es handelt sich um Zahlen, dann einfach in der Vorschleife addieren.

Also (Pseudocode. Keine Ahnung was für eine Sprache du da verwendest):

Array A

summe <- 0

for i<-0 to A.length-1 do

          summe=summe+A[i]

Kommentar von triopasi ,

To ist ein <= oder? Dann sollte es A.length - 1 sein.

Kommentar von davidwagn ,

Hast recht, konnte es noch ändern.

Kommentar von SergeBr ,

Jetzt bin ich überfordert :D

Also die Aufgabenstellung lautet folgend:

Schreiben Sie ein freundliches Programm zur Berechnung der Geldmenge in Ihrer Geldbörse!
Sie haben ein Grundkapital in Ihrer Börse. Beim Einkaufen müssen Sie eine bestimmte Anzahl von Produkten kaufen.
Die Preise der Produkte lesen Sie ein!
1. Wie viel Geld verbleibt in Ihrer Börse?
2. Wie hoch ist die Rechnung?

for-Schleife benutzen bitte

Kommentar von davidwagn ,

Könnte dir das eben schreiben, aber wohl nicht in der Sprache die du verwendest. Kenn die nicht.

Was aber fest steht: 1) Du  brauchst eine Variable für dein Grundkapital 2) "bestimmte Anzahl von Produkten", ich denke mal, dass du dir die 6 nicht ausgedacht hast, sondern die fest ist? Ansonsten muss du die Anzahl auch einlesen 3) Du subtrahierst die Preise vom Grundkapital. Die 2. Aufgabe stellt klar: Du summierst die Preise und ziehst alles vom Grundkapital ab. Dafür, wie gesagt, eine Variable summe vor die for-Schleife, und die Preise dann per summe=summe+pp[i] einzeln aufaddieren.

Kommentar von SergeBr ,

Jaaa, genau so hab cih es mir vorgestellt, aber kann es leider nicht umsetzen. Die sechs habe ich mir ausgedacht, weil ich nicht drauf komme, wie ich zwei mal was einlesen kann :/

Kommentar von davidwagn ,

Vorrausgesetzt, die Zeile die du benutzt liest dir einen Wert ein. Dann vor der for-Schleife einfach ein int n=parseInt(prompt("Blabla",""));
Und die for-Schleife dann bis n laufen lassen.

Kommentar von triopasi ,

MUSST du for benutzen? Wäre mit while viel sinnvoller!

Kommentar von triopasi ,

MUSST du for verwenden? Ne oder??

Kommentar von SergeBr ,

Eigentlich ja, aber wäre auch gut, wenn ich es mit was anderen auch lösen könnte, damit ich mindestens etwas habe

Kommentar von triopasi ,

Also, wieder Pseudocode und schlechter Stil, aber eine while schleife mit for simuliert ;) Cheatvariante incoming! zahl = 0; summe=0 for(i=0; i<= 1; KEINNINKREMENT) { zahl = parseInt(...); if(zahl <= 0) break // oder i++; else summe += zahl; }

Kommentar von triopasi ,

Das wäre die korrektere Variante, dann muss man aber halt vorher wissen, wie viele Sachen man einkauft ;)

Antwort
von fragenbuch, 28

Um welche Progrsmmiersprache handelt ers sich?

Kommentar von SergeBr ,

javascript

Kommentar von fragenbuch ,
var pp = [];
var sum = 0;
var sumtotal = 0;
var items = 5;
for (var i=0 ;i<=items ;i++ ) {
pp[i] = parseInt(prompt("Preis: ",""));
sum = sum + pp[i];
}

sumtotal = sum;
Kommentar von SergeBr ,

Danke für die Antwort! Da muss doch aber auch eine Ausgabe erfolgen.

Kannst du meine Lösung anschauen und mir sagen was da falsch ist bzw warum er nicht die Preise zusammenzählt?

var gk = parseInt(prompt("Grundkapital: ","")); // Grundkapital
var ap = prompt("Geben Sie die Zahl der Produkte ein!",""); // Anzahl der Produkte
var pp = []; // Preise der Produkte

for (var i=0; i<ap; i++)

pp[i] = parseInt(prompt("Geben Sie bitte den Preis des jeweiligen Produktes ein.",""));
var rb = gk-i++ // Rest in der Börse
alert("In Ihrer Börse bleiben " + rb + " €!");

var hr = gk-(gk-i++); // Rechnung
alert(hr);

Kommentar von fragenbuch ,

Wieso gk-i++?

Das funktioniert nicht, du musst gk-i schreiben das ++ hinter i erhöht den Wert der Variablen i um 1.

Kommentar von SergeBr ,

Aufgabe lautet:

Schreiben Sie ein freundliches Programm zur Berechnung der Geldmenge in Ihrer Geldbörse! 
Sie haben ein Grundkapital in Ihrer Börse. Beim Einkaufen müssen Sie eine bestimmte Anzahl von Produkten kaufen. 
Die Preise der Produkte lesen Sie ein! 
1. Wie viel Geld verbleibt in Ihrer Börse? 
2. Wie hoch ist die Rechnung?

for-Schleife benutzen bitte

Keine passende Antwort gefunden?

Fragen Sie die Community