Zahlen mit einer while-Schleife verdoppeln



  • Hallo alle zusammen,
    ich habe ein kleines Problem und zwar geht es darum ein Programm mit einer while-Schleife zu schreiben das die eingegeben Zahlen von 1 bis 10 verdoppeln.
    Das Programm habe ich erfolgreich und einfach so schreiben können:

    #include <iostream>
    using namespace std;
    int main()
    {
    int Eingabe;
    int Quadrat;
    cout << "Geben Sie eine Zahl ein: ";
    cin >> Eingabe;
    Quadrat = Eingabe + Eingabe;
    cout << "Die Quadratzahl lautet " << Quadrat << endl;
    return 0;
    }
    Hier mal die Randbedingungen zu diesem Thema: erstellen Sie eine while-Schleife, die für die Zahlen 1 bis 10 jeweils das doppelte des Wertes ausgibt. Für die Zahl 2 soll also 4 ausgegeben werden. für 3 die 6 u.s.w

    Jetzt bitte keine ganzen Codes schreiben, möchte es ja lernen, doch für einen kleinen Ansatz bzw. Denkanstoss wäre ich euch dankbar. Liebe Grüsse


  • Mod

    Was ist deine Frage? Weißt du, was ein Quadrat ist?



  • Hallo @PrinceTaoLee,
    das Programm, welches Du ‚erfolgreich und einfach so schreiben‘ konntest, erfüllt natürlich nicht die gestellte Aufgabe.
    In deinem Programm wird eine „Eingabe“ des Nutzers angenommen und der (hoffentliche) Zahlwert mit sich selber addiert.
    Jetzt soll wohl keine Eingabe erfolgen, sondern die vorgegebenen Zahle von 1 – 10 in einer „While-Schleife“ mit sich addiert werden.
    Pseudocode:

    Zahl = 1;
    while( Zahl noch nicht 11 ) {
      Ausgabe = Zahl + Zahl;
      Gib Ausgabe auf der Konsole aus; //Damit der Lehrende was sieht
      Zahl um 1 erhöhen;
    }
    
    

    PS. Ein wenig durcheinander? Schau Unterschied quadriert/addieren mit sich selbst.
    Edit: PS nachgetragen.



  • @Helmut-Jakoby hm... Da die die Spezifikation nicht in korrektem Deutsch vorliegt und auch ansonsten vage bleibt, könnte man auch darunter verstehen:

    while (lies Zahl von std::cin):
        wenn Zahl im Bereich 1..10:
            gib doppelten Wert aus
        else:
            <tja, keine Ahnung, was gefordert ist, vielleicht Fehler oder Zahl unverdoppelt ausgeben?>
    

    Dieses Programm hat auch eine while-Schleife und es verdoppelt eingegebene Zahlen von 1 bis 10.

    @PrinceTaoLee der halbe Weg zur Lösung besteht darin, korrekt, klar, eindeutig, exakt und unmissverständlich zu spezifizieren, was das Programm überhaupt machen soll. Das hilft dir vielleicht auch selbst dabei, zu einer Lösung zu kommen.



  • Hallo @wob,
    warum hast Du Deinen Beitrag gelöscht?🤔
    Ich habe ihn noch lesen können, Dein Einwand war doch berechtigt!



  • @Helmut-Jakoby sagte in Zahlen mit einer while-Schleife verdoppeln:

    Hallo @wob,
    warum hast Du Deinen Beitrag gelöscht?🤔
    Ich habe ihn noch lesen können, Dein Einwand war doch berechtigt!

    Ich glaube, dass deine Interpretation doch die richtige ist, insbesondere nachdem ich die Randbedingungen unter dem Code nochmal gelesen hatte. Die waren mir vorher durchgerutscht.

    Gut, ich stelle den Beitrag wieder her. Der generelle Punkt, dass man möglichst klar spezifizieren sollte inklusive der Sonderfälle (wie wenn etwas außerhalb von 1..10 eingegeben wird), stimmt ja völlig unabhängig von der konkreten Aufgabe.

    Wobei: wo ich das nochmal lese: unten in den Randbedingungen steht nichts von "einlesen". Also einfach int i=1; while (i <= 10) cout << 2*i << '\n';?


Log in to reply