#1 4. Mai 2007 For-Schleife Hallo jungs, hab ne tutorial im internet gefunden Code: #include<iostream> using namespace std; int main() { int a; int b; int erg=1; cout<<"Geben sie eine Zahl ein: "; cin>>a; cout<<"Und jetzt eine andere: "; cin>>b; [color=red] for(int i=0;i<b;i=i+1)[/color] { erg=erg*a; } cout<<a<<" hoch "<<b<<" ist "<<erg<<"\n"; cin.get(); } und ich verstehe nicht was eigentlich diese zeile macht for(int i=0;i<b;i=i+1) hoffe ihr habt mich verstanden danke im voraus + Multi-Zitat Zitieren
#2 4. Mai 2007 AW: Frage??? Das ne schleife: for( .... <-- beginnt die schleife int i = 0 <-- erstellt nen integer mit namen i der den wert 0 hat dann geht die schleife los.... Die bedingungen der schleife: i<b also läuft die schleife solange i kleiner als b ist und das i = i + 1 bewirkt das bei jedem neuen durchlauf das i um einen größer wird (sonst wär es ne endloschleife) Knusperkeks + Multi-Zitat Zitieren
#4 4. Mai 2007 AW: Frage??? Du willst nen quadrat ausrechnen oder?! A² = A x A A³ = A x A x A Code: erg=a; for(int i=0;i<b;i=i+1) { erg=erg * a; } ^^ so müsste das doch sein oder?! Knusperkeks + Multi-Zitat Zitieren
#5 4. Mai 2007 AW: Frage??? ja ich will ein quadrat ausrechnen Bei diesem beispiel steht int a; int b; int erg=1; nicht erg=a + Multi-Zitat Zitieren
#6 4. Mai 2007 AW: Frage??? das mit dem arg = 1 hab ich schon verstanden .... aber es ist ja sinnlos nen quadrat von 1 auszurechnen .... erg=erg*a; erg=1 1=1*a oder? ^^ das wäre dann erg=erg*a; erg=1 erg=1*a Knusperkeks + Multi-Zitat Zitieren
#7 4. Mai 2007 AW: Frage??? @Knusperkeks: hmm, Deinen letzten Post verstehe ich nicht wirklich *g bei... PHP: int a = 3 ; int b = 2 ; int erg = 1 ; for( int i = 0 ; i < b ; i = i + 1 ) { erg = erg * a ; } ...rechntet das Programm doch 3² aus, oder? insgesamt 3 Schleifendurchläufe von erg *= a; 1 = 1 * 3; //3 3 = 3 * 3; //9 9 = 9 * 3; //ERgebnis: Ergo: Die Schleife wird genau b-mal aufgerufen. Darin wird immer das ergebnis von vorher mit a multipliziert. So kommt man auf alle möglichen Potenzen (zB: 2^7)... Oder liege ich da vollkommen falsch? Sn0wm4n PS: Schon, aber beim ersten Schleifenlauf wird dem erg ja die zahl der Variable a zugeordnet, oder? Also wird ja nich von 1 sondern hier von 3 ausgerechnet + Multi-Zitat Zitieren
#8 4. Mai 2007 AW: Frage??? Jo passt schon hab selber ned so ganz geblickt was ich da geschrieben habe Knusperkeks + Multi-Zitat Zitieren
#9 4. Mai 2007 AW: Frage??? also was mich an eurer schleife noch stört ist dieses Code: i = i + 1; @Nico: du kannst dafür auch einfach Code: i++; schreiben... ist jetzt nicht ganz so wichtig, aber wir wollen dir doch gleich nen vernünftigen Programmierstil zeigen... Ansonsten ist die Lösung von Sn0wm4n genau richtig... so würd ichs auch machen... MFG Pacman //Edit: genauso kann man für Code: erg = erg * a; auch Code: erg *= a; schreiben... sind zwar nur kleinigkeiten, aber du solltest dir das trotzdem angewöhnen, weil der Quellcode so halt viel einfacher zu lesen ist (also für nen Mensch jetzt )... + Multi-Zitat Zitieren