Hilfe Schulaufgabe for-schleife



  • Willst du jetzt 9 oder 6 Werte einlesen...?
    Ist mir gerade schleierhaft, weil ich die gedankliche Verbindung zum Game of Life auch nicht ganz schaffe.



  • irgendwie zuckt es mir in den Fingern eine Komplettlösung zu schreiben, aber ich lass das;
    und die Aussgabe muss logischerweise auch eine Schleife bekommen, weil sie ja eine Variabl Menge an Zahlen ausgeben muss, so gäbe sie nur 3 Zahlen aus, abgesehen davon, ist die Ausgabe momentan noch vor der Schleife, wo die Zahlen ihren Wert bekommen -> Klingelst ? Resultat = 0 oder schlimmer:
    das wäre zumindest so wenn die Einlesungen der 3 Zahlen wär.

    btw: bitte nutze cpp tags.
    Beispiel:

    //Example
    

    so

    [cpp]
    

    und so

    [/cpp]
    

    sehen sie aus
    (unten gibts dafür den C/C++ Knopf)



  • @ pumuckl habe nur den namen übernommen aber es auch gleichezitig verstanden...

    int i ist ja der intiger?!?! für i

    und

    i darf nicht höher werden als "anzahl"

    i++ war irgendwas mit ...krementieren ^^ also er macht das i pro schritt um 1 höher weil die ++ hinter dem i stehen.... andersrum also ++ vor dem i wäre irgendwie fast das gleiche meint die dozentin. dann kann ich 1 wert für i eingeben und pro eingegebenen wert rechnet er 1 i mehr

    @tim06tr

    warum an eine andere stelle? bzw. der grund reicht ja schon^^

    @nanuyki

    das ist in der aufgabe egal da wir uns irgendeinen wert aussuchen können.

    @tim06tr

    habe ich versucht aber ich blicke nicht durch 🙂

    int x;
    

    ok man siehe ... verstanden ^^



  • ups ja das war ein Fehler von mir ich hab versucht die cpp tags aufzuschreiben, ohne das das zur Box wird so ist es richtig:

    [cpp.][/cpp.]

    Die Punkte müssen dabei weg sonst wird es eine Box

    da war jemand schneller ^^

    to topic:

    du willst eine konstante Zahl deklarieren hast du ja wunderbar gemacht !
    dann den array auch gut.
    Aber jetzt kommts:
    du willst konstante Zahl oft eine Zahl einlesen:
    schreit nach schleife.
    dann willst du DANACH
    alle Zahlen ausgeben mit anderen Worten: konstante Zahl oft ein Wert AUSGEBEN.
    dann musst du eine "Pause machen" damit du die Werte sehen kannst, sonst schließt sich das Fenster.
    der Befehl dazu wär

    cin.get()
    

    (erwartet druck der ENTER taste)
    also noch deutlicher ist dann nur noch die Komplettlösung



  • piwi17m schrieb:

    @ pumuckl habe nur den namen übernommen aber es auch gleichezitig verstanden...

    Wenn du den Code verstanden hättest hättest du ihn nicht einfach hinten dran geklatscht sondern dort eingebaut wo er Sinn macht 😉



  • @ pumuckel für mich macht c++ noch generell keinen sinn... hatte erst 2 vorlesungen und ich arbeite unseren "aufegabenzettel" so ab wie es da steht ^^

    aber warum macht es denn keinen sinn? hättest ja eine antwort geben können 😉

    @tim06tr

    das mit der pause war ja das mit dem "break" das sollten wir aber nicht benutzen weil wir das erst nächste woche weitermachen.

    bis jetzt "sollten" wir können, if und ein bisschen for..... weiter sind wir da nicht nicht...

    aber schleife hat sie etwas von erwähnt, doch ist die for funktion nicht auch eine schleife BIS die "anzahl erreicht ist?

    Und mal abgesehen davon ist die aufgabenstellung für mich nicht ganz klar, denn wenn ich die zahlen eingebe stehen sie ja da...... und das wäre dann gleichzeitig für mich die ausgabe



  • poste doch noch mal dein aktuellen Code und am besten mit cpp box 😉

    EDIT: wo ist denn nochmal der Thread mit dem DezToBin abgeblieben ?



  • eventuell noch eine Hilfe:
    man kann Schleifen mit den Klammern auch mehr Befehle geben:

    for(i = 0;i < 5;i++)
    {
        cout << "Durchlaufe Schleife das " << i << ". mal"; 
        i--; i++; // nonsens
    //foo
    }
    cin.get()
    

    Nur als Beispiel

    EDIT: ups falsches Zeichen > statt <



  • Ok hier nochmal mein proggi wie ich es jetzt habe

    #include <iostream>
    using namespace std;
    
    int main(){
        int Zahl1,Zahl2,Zahl3;
        const int Anzahl=6;
        int werte[Anzahl];
        cout<<"Hallo hier ist das Game Of Life"<<endl;
        cout<<"Geben Sie die Zahlen ein: "<<endl;
        cin>>Zahl1;
        cin>>Zahl2;
        cin>>Zahl3;
        cout<<"Sie haben "<<Zahl1<<" "<<Zahl2<<" "<<Zahl3<<" eingegeben"<<endl;
        for(int i=0;i<Anzahl;i++)cin>>werte[i];
        return 0
    }
    


  • Und nun?
    Du liest 3 Zahlen ein, gibst diese aus und liest weitere 6 ein, gibst diese aber nicht aus.
    Falls das dein Ziel war, bist du fertig.



  • int main(){
        int Zahl1,Zahl2,Zahl3;
        const int Anzahl=6;
        int werte[Anzahl];
        cout<<"Hallo hier ist das Game Of Life"<<endl;
        cout<<"Geben Sie die Zahlen ein: "<<endl;
        cin>>Zahl1; //lass weg
        cin>>Zahl2; //lass weg
        cin>>Zahl3; //lass weg
        cout<<"Sie haben "<<Zahl1<<" "<<Zahl2<<" "<<Zahl3<<" eingegeben"<<endl; // nach unten und gäbe dann nur Zahl 1 + 2 + 3 aus, du willst aber alle ausgeben
        //und zwar so viele wie Anzahl groß ist schreit nach schleife
        for(int i=0;i<Anzahl;i++)cin>>werte[i]; // nach oben schon richtig
        return 0
    }
    

    EDIT nicht mal das, müsste cout << "Bla " << werte[1] << .... heißen, aber das ist auf diese Weise ja eh nicht dein Ziel



  • @ nanu
    also müsste ich für jedes

    werte

    noch einmal extra mit cout ausgeben. mir schwebte da

    cout<<i<<endl;
    

    vor aber das ist wohl vollkommen auf dem holzweg :-), er sagt mir da auch das i nicht deklariert ist und wenn ich oben

    int Zahl1,Zahl2,Zahl3,i;
    

    eingebe dann kommt da ein großer fehler in der Konsole

    wie gesagt bei mir ist es i´momentan noch eher ein tüffteln und prutschen bis es klappt als dass das verständnis da wäre ^^

    das zweite was mir in den kopf springt wäre evtl eine if-funktion.

    Aber das ist irgendwie so kompliziert

    @timo

    Ne verstehe es so das wir ERST 3 zahlen einlesen müssen die dann ausgeben und anschließend die 6 zahlen



  • du solltest nicht i sondern werte[i] ausgeben. wobei i anders heißen muss und von oben nach unten durchiteriren muss. Wie sollte es auch anders sein: mit der forschleifen, aber einer neuen, die immer cout << werte[Counter] << " ";
    durchführt und nach der Schleife noch ein cout << "Wurde eingegeben"; oder so

    EDIT: sehr wichtiges Wort war falsch liegt an den Kopfschmerzen:
    nicht vorhandende Aspirin schluck 😞



  • ok jetzt bin ich total verwirrt 😃

    also

    cout<<werte[Anzahl]<<endl;
    

    habs eben eingetippt und funzt nicht.... aber ich denke ich bin dabei es so ein wenig zu verstehen denn genu diesen fehler wo er eine komische zahl ausspuckt hatten wir heute in der vorlesung ^^



  • Du musst dir unbedingt die Grundlagen zu Variablen, Arrays und Schleifen aneignen, bevor du versuchst, weiter zu machen.
    Mit int array[5]; erstellt du ein Array mit fünf Elementen.
    Die einzelnen Elemente kannst du mit array[0] (erstes Element), array[1] (zweites Element)... array[4] (fünftes und letztes(!) Element) ansprechen.
    Wenn du jetzt werte[Anzahl] schreibst, wird versucht, das siebte Element auszugeben, obwohl du ja nur 6 (=Anzahl) hast.
    Wie soll das auch gutgehen?



  • ja das weiß ich ja auch noch nicht... aber ich werde mal gucken was ich so aus dem skript saugen kann....

    werde mich bestimmt wieder melden....

    MIT meiner lösung

    aber erstmal danke ^^


Anmelden zum Antworten