• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[C++] Problemchen mit Rechnung

Status
Für weitere Antworten geschlossen.

gollum1990

Neues Mitglied
Hallo,

ich habe ein kleineres Problem mit einer Rechnung und zwar:

Ich habe ein array namens a

in diesem array habe ich 3 Werte nämlich 1,2,3
Also:
a[0] = 1
a[1] = 2
a[2] = 3

Achja die Variable zahlen ist 3

Nun versuche ich das Ergebnis von 1+2+3 herauszukriegen, aber ich schaff das nicht, da kommt immer 5 raus

Code:
PHP:
[...]
                      for(int j = 0; j<zahlen; j++) {
                              ergebnis = a[zahlen - 1] + a[zahlen - j]; 
                      }
[...]
 
Werbung:
Hallo,

du überschreibst ergebnis ja auch in jedem Schleifendurchlauf. Für die Summe bräuchtest du:
Code:
for (int i = 0; i < zahlen; i++) ergebnis += a[i];
Vorher natürlich ergebnis = 0;


Bei deinem Code hast du am Ende j = 2; also a[zahlen - j] = a[1] = 2; Daher ergebnis = 5; Beim ersten Durchlauf bekommst du außerdem 'nen Buffer-Overflow, da j=0. Dann hast du a[3] was es ja nicht gibt.



N43
 
Werbung:
Code:
ergebnis *= zahl;
ergebnis /= zahl;
ergebnis -= zahl;
ergebnis += zahl;

Ist eine alternative schreibweise zu:

Code:
ergebnis = ergebnis * zahl;
ergebnis = ergebnis / zahl;
ergebnis = ergebnis - zahl;
ergebnis = ergebnis + zahl;
 
Nunja, das weiß ich schon was das ist, das brauchst du mir nicht zu erklären, aber ich sage trotzdem mal danke... Ich meine, das so, wenn ich das gleiche mit minus, mal und geteilt mache, kommt da was komplett anderes raus.
 
Das ist doch logisch oder?

1 + 2 + 3 = 6
1 - 2 - 3 = -4
1 * 2 * 3 = 6
1 / 2 / 3 = 1/6

Ich verstehe dein problem nicht ganz
 
Werbung:
Besonders bei der Minus Rechnung gebe ich
10
1
1 ein, dann kommt komischer weise -12 raus obwohl 8 rauskommen müsste
 
Hallo,

wenn du mit -= arbeitest ist -12 schon richtig.

0 - 10 = -10
-10 - 1 - 1 = -12.

Wenn du 8 als Ergebnis möchtest musst du 10 als Startwert setzen und dann beim 2 Array Element anfangen.


N43
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben