Wie oft gibt diese Schleife etwas aus und warum?
-
Hallo bin c neuling (2 semster Wirtschaftsinformatik) und würde gern wissen wie diese schleife vorgeht... warum sind es 30 ausgaben....
#include <stdio.h> #include <iostream.h> int main() { int i, j, k; for(i=1;i<=3;i++) { printf("%s\n","Wie oft1?"); for (j=1;j<=3;j++) { printf("%s\n", "Wie oft2?"); for (k=1;k<=j;k++) printf("%s\n", "Wie oft3?"); } } system ("pause"); return 0; }
-
Schleifen am besten immer von innen nach außen "entrollen".
Dein Code ist Fehlerhaft, da
int i, j, k;3 lokale integer definiert, die nicht auf einen bestimmten Anfangswert gesetzt werden.
-
hm danke aber um so feinheiten müssen wir uns noch nicht kümmern, der code stamm übrigens auf einer Übungsaufgabe von Klaus Knopper, sollte jedem Programmierer ja ein Begriff sein, bei dem haben wir morgen eine Klausur und stehen wie der Ochse vorm berg

werden den Variablen den nicht am Schleifen anfang die 0 zugeordnet??
im Compiler funzt das prog auf jeden fall
-
*lol* das ist ja gar keine i, sondern eine
1(eins)
Dann hab ich nix gesagt
-
werden den Variablen den nicht am Schleifen anfang die 0 zugeordnet??
Nein, normale lokale Variablen haben undefinierten Startwert.
-
Naja es funzt ja, i wird der wert 1 zugewiesen, am schleifen anfang
hier mal die ausgabe... (borland dv c++)
Wie oft1? Wie oft2? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft3? Wie oft1? Wie oft2? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft3? Wie oft1? Wie oft2? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft2? Wie oft3? Wie oft3? Wie oft3?btw das sollte c sein nicht c++ falls das relevant ist

-
SeppSchrot schrieb:
werden den Variablen den nicht am Schleifen anfang die 0 zugeordnet??
Nein, normale lokale Variablen haben undefinierten Startwert.
achso
scheu dir mal an wie der die asugabe macht nach welchem Schema werden die SChleifen durchlaufen?Gibt es ein Merkmal an dem ich erkennen kann wie oft das programm etwas ausgibt?
ne kleine rechnung???
-
Ja, mit multiplikation.
Beispiel:int i,j; for (i = 0; i<3; i++) { for (j = 0; j<4; j++) f(); }Die "j-Schleife"wird 4 mal durchgelaufen und sie steckt in der i-Schleife, die 3 mal durchlaufen wird. Also wird die Funktion f() insgesamt 3*4 = 12 mal aufgerufen.
Dadurch, dass in deinem Code das Kriterium auch von einer Variablen abhängt (k<=j), ist es nicht mehr so einfach zu berechnen.
Gehe es lieber mit Papier und Bleistift schritt für schritt durch.
Alternativ mit debugger.
-
moxon schrieb:
hm danke aber um so feinheiten müssen wir uns noch nicht kümmern, der code stamm übrigens auf einer Übungsaufgabe von Klaus Knopper, sollte jedem Programmierer ja ein Begriff sein, bei dem haben wir morgen eine Klausur und stehen wie der Ochse vorm berg

werden den Variablen den nicht am Schleifen anfang die 0 zugeordnet??
im Compiler funzt das prog auf jeden fall
was bist du mir für einer?
1. Klaus wer???? wer soll das sein? lol NEIN ich kenn den nicht! bei amazon wenn ich den namen eingebe schlägt er mir das vor
2. ist der typ prof? ( muss ja da du eine klausur schreibst ) dann nenn ihm mit titel.
3. für einen der schon 2 semester studiert postet du aber ins falsche forum ( soviel kann ich jeden studenten zumuten das er wenigstens das richtige forum "trifft")
so und jetzt was sinnvolles ( naja 2 mal das gleiche posten schadet nie bei studenten die im 2ten semester gegen ende immer noch sowas fragen )
for i = 0; i < 3; i++ // 3 mal { cout << a << endl; for j = 0; j < 3; j++ // 3 mal { cout << b << endl; } }so jetzt rate mal wieviel 3mal3 sind?
du gibts erst das a aus dann 3 mal b dann wieder A usw.
mit diesen for schleifen kann man toll einen weihnachtsbaum zeichen
im Compiler funzt das prog auf jeden fall
btw
Im compiler funzt gar nichts
-
habe ich recht?
I = 3mal
von I hängt J ab 3*3= 99+3 = 12
K hängt von J ab, wenn k = 1 und J =1, passiert nichts...
deswegen K2 mal2* die 9 mal J = 18
18+9+3 = 30 ???
-
lol der beitrag war mal witzig

-
isabeau2-hasser schrieb:
moxon schrieb:
hm danke aber um so feinheiten müssen wir uns noch nicht kümmern, der code stamm übrigens auf einer Übungsaufgabe von Klaus Knopper, sollte jedem Programmierer ja ein Begriff sein, bei dem haben wir morgen eine Klausur und stehen wie der Ochse vorm berg

werden den Variablen den nicht am Schleifen anfang die 0 zugeordnet??
im Compiler funzt das prog auf jeden fall
was bist du mir für einer?
1. Klaus wer???? wer soll das sein? lol NEIN ich kenn den nicht! bei amazon wenn ich den namen eingebe schlägt er mir das vor
2. ist der typ prof? ( muss ja da du eine klausur schreibst ) dann nenn ihm mit titel.
3. für einen der schon 2 semester studiert postet du aber ins falsche forum ( soviel kann ich jeden studenten zumuten das er wenigstens das richtige forum "trifft")
so und jetzt was sinnvolles ( naja 2 mal das gleiche posten schadet nie bei studenten die im 2ten semester gegen ende immer noch sowas fragen )
for i = 0; i < 3; i++ // 3 mal { cout << a << endl; for j = 0; j < 3; j++ // 3 mal { cout << b << endl; } }so jetzt rate mal wieviel 3mal3 sind?
du gibts erst das a aus dann 3 mal b dann wieder A usw.
mit diesen for schleifen kann man toll einen weihnachtsbaum zeichen
im Compiler funzt das prog auf jeden fall
btw
Im compiler funzt gar nichts
Ne prof isser nicht musser auch nicht, er ist nur für so bedeutungslose sachen wie Linux KNOPPix verantwortlich und nun geh spiel in nem andren Thread weiter
-
moxon schrieb:
Ne prof isser nicht musser auch nicht, er ist nur für so bedeutungslose sachen wie Linux KNOPPix verantwortlich und nun geh spiel in nem andren Thread weiter
Wieso muss er dann jedem Programmierer ein Begriff sein?

-
naja zumindest bei denen proggern die ich kenne, gilt er als guru der mann hats echt drauf
-
moxon schrieb:
naja zumindest bei denen proggern die ich kenne, gilt er als guru der mann hats echt drauf
kannste gar nicht beurteilen solange du es noch nicht selbst drauf hast.
-
wer ein debian system so umschreibt, das es von cd läuft muss was drauf haben
so können wir ma back to topic
-
Neue Frage
int test(int x)
{ return x & 1;
}was macht dieses programm und wieso???
besonder was soll dieses einfache Kaufmänniche &
-
moxon schrieb:
Neue Frage
int test(int x)
{ return x & 1;
}was macht dieses programm und wieso???
besonder was soll dieses einfache Kaufmänniche &Es verknüpft beide Operanden bitweise mit UND. In dem Fall hat es den Effekt, dass alle Bits von X auf 0 gesetzt werden bis auf das letzte.
-
als antwort zum ankreuzen steht da, das die funktion bei ungeraden zahlen eine 1 ausgibt und bei Geraden eine 0
also für wahr und falsch
-
moxon schrieb:
wer ein debian system so umschreibt, das es von cd läuft muss was drauf haben
so können wir ma back to topic
hahaha du bist so witzig
kriegst du geld damit du sowas postest? wenn nicht, würd ich n sponsor suchen
1. weil er es von cd aus zum laufen bringt, heisst ncoh lange nicht das er ein programmier guru ist. kann er z.b. eine sehr gute 3d engine schreiben? eine neue havok physik engine? hat er irgendwelche neue desing pattern sachen entwickelt? nein also
ausserdem du kannst es dir raussuchen
entweder er hats nicht drauf weil er dir/euch den stoff mit lächerlichen for schleifen nicht gut erklären kann
oder
er hats wirklich voll drauf, aber du bist trozdem zu ..... um die lächerlichen for schleifen nicht zu kapieren!
also du kannst es dir raussuchen :p
btw was für dein leben
wenn einer etwas drauf hat, dann heisst es schon lange nicht das er ein gute leherer ist.
z.b. boxen oder tennis. der trainer von becker z.b. der hätte nicht 6 mal wimb. gewonnen, aber er hat es drauf anderen was beizubringen
und die nächste ist, boris becker hat es im tennis drauf aber d.h. nicht das er es jeden vermitteln kann