ankon Geschrieben 10. Mai 2017 Teilen Geschrieben 10. Mai 2017 Hallo, ich beginne, die Programmiersprache C zu lernen. Ich hätte Frage zu folgenden Aufgabe: x=1, y=1 x=1, y=2 x=2, y=5 x=1, y=2 x=3, y=2 x=3, y=3 x=4, y=3 x=3, y=2 x=1, y=2 x=1, y=1 Es muss ein C-Programm geschrieben werden, dass die obige Ausgabe (Frage 1: ich denke mit printf ?) erzeugt. Man dar aus der Bedingung nur - hohstens 4 mal Zuweisungen der Form x=... verwenden - hohstens 4 mal Zuweisungen der Form y=... verwenden - Zur Ausgabe die Anweisung printf ("x=%i, y=%i\n", a,b,); verwenden. Hinweis: Es ist in dem Programm eine geeignete Blockstruktur zu verwenden, innerhalb derer die Variablen vereinbart sind. Meine erste Idee zur Lösungskonzept ist die Switsch-Case-Struktur zu verwenden wo ich 4 x- und 4 y- Wertannahmemöglichkeiten als Cases bezeichne. So denke ich auf ersten Blick die Begrenzungen 4 Mal Zuweisungen zu reaisieren. Ist das möglich? Hätten Sie sonst welche Topps? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rienne Geschrieben 10. Mai 2017 Teilen Geschrieben 10. Mai 2017 vor 4 Stunden schrieb ankon: Es muss ein C-Programm geschrieben werden, dass die obige Ausgabe (Frage 1: ich denke mit printf ?) erzeugt. Steht doch in der Aufgabenstellung: vor 4 Stunden schrieb ankon: - Zur Ausgabe die Anweisung printf ("x=%i, y=%i\n", a,b,); verwenden. vor 4 Stunden schrieb ankon: Meine erste Idee zur Lösungskonzept ist die Switsch-Case-Struktur zu verwenden wo ich 4 x- und 4 y- Wertannahmemöglichkeiten als Cases bezeichne. So denke ich auf ersten Blick die Begrenzungen 4 Mal Zuweisungen zu reaisieren. Was willst du denn im Switch-Case abfragen bzw. zuweisen? Was in deinen Variablen steht, wird ja schon bei der Ausgabe entsprechend berücksichtig. Dazu muss man nicht noch eine Abfrage erstellen. Und du musst den Variablen ja auch erst einmal Werte zuweisen, die du dann abfragen möchtest und nicht umgekehrt. Im Übrigen hast du in der Ausgabe ja an verschiedenen Stellen gleiche Werte für beide Variablen. Man kann für eine Ausgabe, die zweimal den selben Wert ausgibt übrigens auch nur eine Variable benutzen und auch damit rechnen kannst (z.B.: printf("x=%i, y=%i\n", a, a+1). Vielleicht hilft dir das bei der Aufgabe. Wobei mir z.B. nicht ganz klar wird, was mit vor 5 Stunden schrieb ankon: Man darf aus der Bedingung nur - hohstens 4 mal Zuweisungen der Form x=... verwenden - hohstens 4 mal Zuweisungen der Form y=... verwenden gemeint ist. Denn bei der Ausgabe sind zwar x und y als Variablen genannt. In dem Printf-Beispiel allerdings a und b. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 10. Mai 2017 Teilen Geschrieben 10. Mai 2017 Es sind ja 10 Ausgaben auf dem Bildschirm. Ich kann es mir nur so vorstellen, dass eine Schleife gebaut werden soll, die 10 mal durchlaufen wird und jedes Mal eine Ausgabe machen soll. Dann würde man mit einer switch-Anweisung 4 mal x und 4 mal y einen Wert zuweisen aber es stimmt schon, dass es merkwürdig ist, dass im printf() von a und b die Rede ist aber in der Aufgabe selbst von x und y. Irgendwas passt da nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rienne Geschrieben 10. Mai 2017 Teilen Geschrieben 10. Mai 2017 (bearbeitet) vor 31 Minuten schrieb Whiz-zarD: Ich kann es mir nur so vorstellen, dass eine Schleife gebaut werden soll, die 10 mal durchlaufen wird und jedes Mal eine Ausgabe machen soll. Das würde ich auch annehmen. Vielleicht macht dann auch diese x und y Sache Sinn. Wenn man es dann so löst: for(i=0; i<10; i++) { <Switch-Case-Block, der nach i abfragt und x-/y-Werte entsprechend ändert und a und/oder b zuordnet> //So kann man hier beispielsweise auch die gleichen Ausgaben in einen Case packen. printf ("x=%i, y=%i\n", a,b); } Bearbeitet 10. Mai 2017 von Rienne Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Mai 2017 Teilen Geschrieben 10. Mai 2017 Ein schönes Beispiel dafür, wie man Anfänger dazu bringt, sich das Loop-Switch-Antipattern anzugewöhnen. Rienne reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ankon Geschrieben 11. Mai 2017 Autor Teilen Geschrieben 11. Mai 2017 Am 10.5.2017 um 08:00 schrieb Whiz-zarD: Es sind ja 10 Ausgaben auf dem Bildschirm. Ich kann es mir nur so vorstellen, dass eine Schleife gebaut werden soll, die 10 mal durchlaufen wird und jedes Mal eine Ausgabe machen soll. Dann würde man mit einer switch-Anweisung 4 mal x und 4 mal y einen Wert zuweisen aber es stimmt schon, dass es merkwürdig ist, dass im printf() von a und b die Rede ist aber in der Aufgabe selbst von x und y. Irgendwas passt da nicht. Entschuldigung, a und b in printf ist ein Fehler. Richtig ist x und y auch in prinf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.