Prinz01 Geschrieben 10. November 2005 Geschrieben 10. November 2005 hallo, kann mir vielleicht jemand sagen - wie ich auf die Ausgabe komme?? #include <iostream.h> int main() { int u = 1; char e[] = "lefid"; while (u != 3) { switch (u) { case 0: u=3; break; case 1: u=1; case 3: u=4; break; case 4: u=2; break; default: u=3; } cout << e; } } Ausgabe: dfi Zitieren
M.A.Knapp Geschrieben 11. November 2005 Geschrieben 11. November 2005 spiel das programm einfach im kopf das programm durch, dann weißt du es. Ansonsten empfehle ich dir, eine C++ Einführung zu lesen, da dir offenbar noch die grundlegensten C++ Kenntnisse fehlen. Zitieren
kilroy Geschrieben 15. November 2005 Geschrieben 15. November 2005 vor allem lern das richtige einrücken, sonst reißt dir jeder, der dein programm durchsehen soll, den kopf ab ... Zitieren
Klotzkopp Geschrieben 15. November 2005 Geschrieben 15. November 2005 Die Einrückung ist in Ordnung. Allerdings bleibt davon nichts übrig, wenn keine Code-Tags benutzt werden. Zitieren
baba007 Geschrieben 15. November 2005 Geschrieben 15. November 2005 hallo, kann mir vielleicht jemand sagen - wie ich auf die Ausgabe komme?? #include <iostream.h> int main() { int u = 1; char e[] = "lefid"; while (u != 3) { switch (u) { case 0: u=3; break; case 1: u=1; case 3: u=4; break; case 4: u=2; break; default: u=3; } cout << e[u]; } } Ausgabe: dfi 1. u ==1 2. case 1 => u wird auf 1 gesetzt => ohne Break wird bei u==3 weitergemacht => case 3: u=4 => ausgabe der 5 stelle im chararray (d) 3.weitergehts mit case 4 => u = 2 => ausgabe der 3ten stelle des arrays (f) 4.case 2 gibts nicht, ergo default => u = 3 => ausgabe 4 stelle des arrays (i) 5. verlassen der while schleife erstes element des arrays ist immer die 0 und nicht die 1 Zitieren
Prinz01 Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 Danke baba für die ausführliche Erklärung... ich hab jetzt eine neue Frage und zwar Bsp1: #include<iostream.h> int f(int x){ if (x) return f(x-4); else return 2; } int main(){ cout << f(8); } Notieren Sie die Ausgabe 2 Bsp2: #include<iostream.h> char str[] = "JAVA"; void f(int i) { if (str) f(i+1); if (str) f(i+1); if (str) cout<<str; } int main() { f(0); return 0; } ausgabe: AVAJ ´ bei bsp1 bekommen wir als Ausgabe 2 und hier avaj heraus und ich frag mich wie ich auf die lösung komme?? bitte erspart mir eure Antworten - wie lies die lektüre etc. der antworten will - soll es ruhig machen - ansonsten auch danke:hells: Zitieren
M.A.Knapp Geschrieben 17. November 2005 Geschrieben 17. November 2005 Ich glaube nicht, daß das Forum dazu da ist, daß Deine Hausaufgaben von anderen gemacht werden sollen. Wenn Du selbst diese einfachen Beispiele nicht lösen kannst, solltest Du Dir wirklich überlegen, ob Programmieren überhaupt das Richtige für Dich ist !! MfG, Michael Zitieren
Prinz01 Geschrieben 19. November 2005 Autor Geschrieben 19. November 2005 das war keine hü sondern nur eine Frage ;-) Zitieren
Klotzkopp Geschrieben 19. November 2005 Geschrieben 19. November 2005 das war keine hü sondern nur eine Frage ;-) Soso. Und warum siezt du uns? Zitieren
Magoo Geschrieben 21. November 2005 Geschrieben 21. November 2005 Will hier nicht die Lösung posten, aber bei dem 2. Beispiel kann nicht "AVAJ" als Ausgabe kommen. Habe es gerade nochmal schnell durch den Compiler gejagt, und das Programm spuckt "AAVAAVAAAVAAVAJ" aus. Entweder ist der Quellcode nicht vollständig gepostet, oder deine Ausgabe ist falsch... Zitieren
baba007 Geschrieben 21. November 2005 Geschrieben 21. November 2005 weil er die Zeile : if (str) f(i+1); doppelt drin hat ... ansonsten kommt schon AVAJ raus ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.