012
31.05.2007, 15:07 Uhr
countless
|
Ok... Anscheinend haben dich die vielen Möglichkeiten etwas verwirrt. Bleiben wir also bei der, die ohne weitere Änderungen auf dein Problem passt:
C++: |
sum=0; for(i=0;i<n;i++){ ungeradeZahl = 2*i+1; sum += ungeradeZahl; }
|
Wenn n=10, dann läuft die Schleife alle Zahlen i von i=0 bis i=9 ab. In jedem Durchlauf wird eine ungerade Zahl berechnet durch ungeradeZahl = 2*i+1 und diese aufaddiert. Noch einmal der Ablauf (i, ungeradeZahl=2*i+1, sum): (0, 2*0+1=1,0+1=1) (1, 2*1+1=3,1+3=4) (2, 2*2+1=5,4+5=9) (3, 2*3+1=7,9+7=16) (4, 2*4+1=9,16+9=25) usw. Du siehst also, im ersten Durchlauf (i=0) wird die erste ungerade Zahl berechnet (1) und addiert, im zweiten Durchlauf (i=1) die zweite ungerade Zahl usw.
Oder du musst halt wie Windalf meinte die Obergrenze deiner Schleife verändern. Ich denke, du hast jetzt einige Vorschläge gehört... Am Besten du setzt dich mal hin, und schreibst einfach mal einige Schleifendurchläufe auf (Variablenwerte etc) einfach um zu sehen was passiert und das besser zu verstehen. -- "I'm here..... yeah,.. I'm here.......... it's not that big of a deal......... i won't have to return to that shitty world.... this is....... not that bad." .hack//sign (tsukasa) |