tk01 Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 Hallo, wie kann ich diese Schleife ausgeben? a. 1, -2, 3, -4, 5, -6,... -50 b. 1, 2, 4, 7, 11, 16,....bis Wert > 300 c. 1, 1.1, 1.2, 1.3, ... 3 d. 1,2,3,11,12,13,21,22,23,...,91,92,93 Ich grieg das nicht so hin, dass die Schleifen sich abwechseln.
Guybrush Threepwood Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 Was meinst du mit abwechseln? Überleg dir einfach nach welchen mathematischen Regeln die Zahlenfolgen aufgebaut sind
tk01 Geschrieben 2. Mai 2009 Autor Geschrieben 2. Mai 2009 Was meinst du mit abwechseln? Überleg dir einfach nach welchen mathematischen Regeln die Zahlenfolgen aufgebaut sind ich brauche doch 2 for-schleifen um a) auszugeben. Habe einmal für x die positiven zahlen deklariert und für y die negativen. x ist eine for-schleife und y die zweite. Habe nur kein Plan, wie ich die 2 zusammenfürhren kann, weil meine console nur die x-schleife ausgibt. (1, 3, 5, 6,...49)
Enno Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 Du brauchst nur 1 for Schleife. evtl. musst du einfach in 1 Schleife 2 mathematische Operationen durchführen: a = 1 for { a (+1 *-1) a ist hier -2 a (*-1 +1) a ist hier 3 }
tk01 Geschrieben 2. Mai 2009 Autor Geschrieben 2. Mai 2009 Du brauchst nur 1 for Schleife. evtl. musst du einfach in 1 Schleife 2 mathematische Operationen durchführen: a = 1 for { a (+1 *-1) a ist hier -2 a (*-1 +1) a ist hier 3 } ok danke ich habe ja dann hier sowas stehen: for(x=1; x<=50; x....) bei dem x... was muss denn da dann rein?? da drunter kommt ja dann auch noch der printf befehl.
Enno Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 for (x=1; x<=50;) {print x x = X+1 x = x * -1 print x x = x * -1 x = x + 1 } IMHO musst Du nicht zwingend die Schritte in der forschleife mitangeben. Du kannst wi ehier das X ja auch innerhalb der Schleife verändern. im Übrigen gibt es noch einiges mehr an Schleifen. Hier böte Sich z.B. auch eine do-while an. Tu solnage bis eine Bedingung erfüllt ist.
tk01 Geschrieben 2. Mai 2009 Autor Geschrieben 2. Mai 2009 for (x=1; x<=50;) {print x x = X+1 x = x * -1 print x x = x * -1 x = x + 1 } IMHO musst Du nicht zwingend die Schritte in der forschleife mitangeben. Du kannst wi ehier das X ja auch innerhalb der Schleife verändern. im Übrigen gibt es noch einiges mehr an Schleifen. Hier böte Sich z.B. auch eine do-while an. Tu solnage bis eine Bedingung erfüllt ist. { int x; for (x=1; x<=50;) {printf("%x",x = x+1,x = x * -1); printf ("%x",x = x * -1,x = x + 1); } } So sieht zurzeit mein Kunstwerk aus, welches natürlich nicht klappt. Mit voller Fehler bestückt, aber ich denke als totaler Anfänger ist das keine schande.
Guybrush Threepwood Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 for (int i=1; i<=50; ++i) { if (i%2) printf("%i,",i*-1); else printf ("%i,"i); }[/PHP] oder [PHP]for (int i=1; i<50; ++i) { printf("%i,%i,",i++, i*-1); } letzteres wäre dann in der Art wie du es anscheined vor hattest
flashpixx Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 Wie wäre es denn mit (-1)^(i%2) * (i+1) für i=0 bis 50 Phil
tk01 Geschrieben 2. Mai 2009 Autor Geschrieben 2. Mai 2009 (bearbeitet) for (int i=1; i<=50; ++i) { if (i%2) printf("%i,",i*-1); else printf ("%i,"i); }[/PHP] oder [PHP]for (int i=1; i<50; ++i) { printf("%i,%i,",i++, i*-1); } letzteres wäre dann in der Art wie du es anscheined vor hattest danke das erste ist genau richtig!! das zweite funktioniert bei mir gar nicht. mal schaun ob ich die anderen hinbekomme.^^ Bearbeitet 2. Mai 2009 von tk01
tk01 Geschrieben 2. Mai 2009 Autor Geschrieben 2. Mai 2009 Wie wäre es denn mit (-1)^(i%2) * (i+1) für i=0 bis 50 Phil Du meinst mit dem printf? Was ist denn nochmal %2?
flashpixx Geschrieben 2. Mai 2009 Geschrieben 2. Mai 2009 Du meinst mit dem printf? for(unsigned int i=0; i < 50; i++) sprintf("%i", pow(-1, i%2) * (i+1)); So sollte ca der Code aussehen Was ist denn nochmal %2? Modulo Operator (Restanteil der ganzzahlige Division) Außerdem ist Dein Problem kein programmatisches, sondern ein algorithmisches. Bitte schreibe Dir mal auf einem Blatt Papier auf, was der Ausdruck (-1)^modulo(i,2) * (i+1) bzw (-1)^(i%2) * (i+1) für die Zahlen 0 bis 49 liefert Phil
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden