Struktogramm richtig gelöst?
-
Oder ohne do...while
#include <stdio.h> int main(void){ int i,j; i = 1; while(i<=5){ printf("i = %d\n", i); j = 1; while(j<=4){ printf("j = %d\n", j); j++; } i++; } return 0; }
-
pitchy schrieb:
Mit dem for Schleifen, finde ich persönlich auch besser, wollte ich auch erst so lösen, aber ich glaube die erste Lösung kommt dem Struktogramm näher oder nicht?
beide kommen gleich nach. Nur eine andere Syntax.
int i=1; do{ ETWAS ++i; } while( i < BEDINDUNG);
ist äquivalent zu
int i; for(i=1; i < BEDINGUNG; ++i) ETWAS
oder
int i=1; while(i < BEDINGUNG){ ETWAS ++i; }
es wird damit dasselbe ausgedruckt.
// edit: manchmal kann es Unterschiede zwischen do-while Schleifen und while Schleifen geben. Wenn BEDINGUNG nämlich 1 ist, dann wird die do-while Schleife nur einmal ausgeführt und die while Schleife gar nicht.
pitchy schrieb:
Bei der zweiten Lösung sind ja zwei {} um die zweite for schleife, ist das sowas wie eine verschachtelte "for"?
ja genau, da ist eine for-Schleife in einer for-schleife.
-
#include <stdio.h> int main() { int i, j; i = 1; l1: if (i <= 5) { printf("das ist i %d\n", i); j = 1; l2: if (j <= 4) { printf("das ist j %d\n", j); j = j + 1; goto l2; } else { i = i + 1; goto l1; } } return EXIT_SUCCESS; }
-
Aufgabe "summa cum laude" bestanden.
-
supertux schrieb:
int i=1; do{ ETWAS ++i; } while( i < BEDINDUNG);
ist äquivalent zu
int i; for(i=1; i < BEDINGUNG; ++i) ETWAS
isses gar nicht.
-
fricky schrieb:
supertux schrieb:
int i=1; do{ ETWAS ++i; } while( i < BEDINDUNG);
ist äquivalent zu
int i; for(i=1; i < BEDINGUNG; ++i) ETWAS
isses gar nicht.
Warum nicht?
-
Weils so sein müsste
int i; for(i=1; ++i < BEDINGUNG; ) ETWAS
-
Semmelknödel schrieb:
Warum nicht?
wenn am anfang BEDINGUNG <= i ist, verhälts sich anders.
-
da fällt mir noch was ein
wenn ich einen satz also ein string 10 mal ausgeben lassen will
könnte ich es ja einfach so machen oder ?
#include <stdio.h> int main() { int i; for(i=1;i<=10;i++){ printf("SATZ \n",i); } return 0; }
oder lieber so?
#include <stdio.h> int main() { char string[10]="SATZ"; int i; for(i=1;i<=10;i++){ printf("%s \n",string); } return 0; }
-
Jacke wie Hose.
-
Schreiben Sie in der Sprache C eine for-Schleife, die 10 mal folgenden Satz ausgibt:
„Programmieren macht Spass!“also wäre die lösung für sowas passend?
-
fricky schrieb:
isses gar nicht.
stimmt, hab's später gemerkt, aber da war schon mein Notebook aus, und hab mich jetzt erst wieder eingeloggt. Schande über mich.
-
pitchy schrieb:
Schreiben Sie in der Sprache C eine for-Schleife, die 10 mal folgenden Satz ausgibt:
„Programmieren macht Spass!“also wäre die lösung für sowas passend?
Probier es doch aus. Du arbeitest mit einer for-Schleife und wenn auf dem Bildschirm der Text eben 10 mal ausgegeben wird, hast du die Aufgabe gelöst.