Hilfe Schulaufgabe for-schleife
-
Ja, dann schau dir nochmal for-Schleifen an. Die sind ja genau dafür da, irgendetwas x-mal zu machen.
-
Ok hat sich erledigt dank des tipps.... weiter komme ich hoffentlich alleine.
Habt ihr denn noch verbesserungvorschläge hierfür?
#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 wie schreibt ihr denn in der c++ sprache?
-
Lies dir bitte einmal den Link in meiner Signatur genau durch. An dem Thread steht nicht umsonst dran dass er wichtig ist.
Und dann lies dir bitte in einem Tutorial das Kapitel über for-Schleifen durch. Einfach den Code von Nanyuki in deinen Code irgendwo reinzukopieren ohne zu verstehen was er bewirkt bringt dir rein garnichts.
-
Tipp 1: Die Schleife wäre an einer anderen Postion besser.
-
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://Exampleso
[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ärcin.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 jedeswerte
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
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 soEDIT: 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 ^^