Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hilfe!!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
31.05.2007, 14:59 Uhr
~24karatboy
Gast



Code:
#include <stdio.h>

unsigned int x,i,zahl=0,n,b;

main() {
    printf("Bitte geben Sie ein wieviele ungeraden zahlen von 1 an addiert werden soll: ");
    scanf("%i",&n);

    for (i=1; i <= n; i+=2){
            if (i%2!= 0)
            zahl += i;
    }
    printf("Ergebnis: %i", zahl);
    getchar();
    getchar();
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
31.05.2007, 15:01 Uhr
Suba Esel



Ja deshalb ja das 2*n von Windalf:
Jede zweite Zahl ist ungerade. Wenn du jetzt eine Zahl n eingibst, musst du also bis zweimal n laufen, um n ungerade Zahlen zu erhalten.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
31.05.2007, 15:10 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Warum machst du dafür ein neues Thema auf wenn es doch noch zu deinem anderen Thread gehört?

und das nächste mal bitte einen vernünftigen Threadtitel wählen der das Problem beschreibt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
31.05.2007, 15:19 Uhr
~24karatboy
Gast


sorry guybrush aber da hatte irgendwie keiner mehr geschrieben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
31.05.2007, 15:35 Uhr
~24karatboy
Gast


ich habs die logik verstanden countless hab auch mal per kopf gerechnet was die schleife macht aber irgendwie kommt wnen ich 10 eingebe 100 raus und das stimmt irgendwie nicht


Code:
#include <stdio.h>

unsigned int i,n,sum=0,ungerade;

main() {
    printf("Bitte geben Sie ein wieviele ungeraden zahlen von 1 an addiert werden soll: ");
    scanf("%i",&n);

    for (i=0; i < n; i++){
        ungerade=2*i+1;    
        sum += ungerade;
    }
    printf("Ergebnis: %i", sum);
    getchar();
    getchar();
}



thanks
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
31.05.2007, 15:41 Uhr
0xdeadbeef
Gott
(Operator)


1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100, das ist schon richtig.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
31.05.2007, 15:42 Uhr
countless



Wenn du 10 eingibst kommt 100 raus? Ist doch gut, warum soll das falsch sein?
1+3+5+7+9+11+13+15+17+19=100
Und: 10^2=100 (wegen der Formel sum(k=1,n,2n-1)=n^2 )
Oder überseh ich da was?
--
"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)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
31.05.2007, 15:45 Uhr
~24karatboy
Gast


ich weiss nicht wie ich gerechnet habe aber ihr habt recht danke an alle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
31.05.2007, 15:50 Uhr
~24karatboy
Gast


hat jemand ne coole aufgabe die eventuell auch spass macht zu programmieren an der ich mich versuchen kann ?


ps: bitte für anfänger
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: