Brauche Hilfe für Mastermind c++
-
was ist ein cpp tag seht ihr nichtmal das weiß ich
-
achso falls das hilft wir arbeiten mit dev cpp
-
gbhjkrhb schrieb:
was ist ein cpp tag seht ihr nichtmal das weiß ich
Guck mal beim Verfassen eines Beitrags hier im Forum links unter den Smileys. Der Knopf C/C++ macht, dass dein Code so hübsch aussieht:
int main() { }Da du registriert bist, kannst du deine Beiträge auch noch nachträglich entsprechend ändern. (Ok, ich als Moderator könnte das auch, aber ein bisschen Eigeninitiative darf sein)
gbhjkrhb schrieb:
achso falls das hilft wir arbeiten mit dev cpp
Auch das ist nicht gut:
Dev-C++ ist veraltet!
-
aber damit müssen wir arbeiten
#include <math.h>
#include <iostream>
#include <time.h>
using namespace std;int zufallszahl()
{
int w;
w=ceil(rand()/32768.0*7+1); //zufall von 1 bis 8
return(w);
}
main()
{
int w;
int i,r,t;
int code[3];
int versuch[3];
int ziffer[9]={0,0,0,0,0,0,0,0,0};
srand (time(0)*1917);
cout<<"Mastermind"<<endl;//zufallszahlen erzeugen
for (i=0;i<3;i++)
{
w=zufallszahl();
while (ziffer[w]==1)
{
w=zufallszahl();
// cout << " w = " << w;
// cout <<"ziffer " << ziffer[w] ;
}
// cout << " code = " << w << endl;code[i]=w;
ziffer[w]=1;
}
cout << "code ="<<code[0]<<" "<<code[1]<<" "<<code[2]<<endl;//zahl vom nutzer einlesen
cout << "Bitte geben sie ihren versuch ziffernweise ein(0<=w<=9)" << endl;
cin >> versuch[0]>> versuch[1]>> versuch [2];
// vergleich auf richtige position
r=0;
for (i=0;i<3;i++)
if(code[i]==versuch[i]) r++;cout<< "richtige position"<< r <<endl;
// vergleich auf falsche position
{
int t=0;for (i=0;i<3;i++)
if(code[i]==versuch[i]) t++;
cout<< "falsche Position"<< t <<endl;{
}
}
system("pause");
}[/cpp][cpp]
-

-
#include <math.h> #include <iostream> #include <time.h> using namespace std; int zufallszahl() { int w; w=ceil(rand()/32768.0*7+1); //zufall von 1 bis 8 return(w); } main() { int w; int i,r,t; int code[3]; int versuch[3]; int ziffer[9]={0,0,0,0,0,0,0,0,0}; srand (time(0)*1917); cout<<"Mastermind"<<endl; //zufallszahlen erzeugen for (i=0;i<3;i++) { w=zufallszahl(); while (ziffer[w]==1) { w=zufallszahl(); // cout << " w = " << w; // cout <<"ziffer " << ziffer[w] ; } // cout << " code = " << w << endl; code[i]=w; ziffer[w]=1; } cout << "code ="<<code[0]<<" "<<code[1]<<" "<<code[2]<<endl; //zahl vom nutzer einlesen cout << "Bitte geben sie ihren versuch ziffernweise ein(0<=w<=9)" << endl; cin >> versuch[0]>> versuch[1]>> versuch [2]; // vergleich auf richtige position r=0; for (i=0;i<3;i++) if(code[i]==versuch[i]) r++; cout<< "richtige position"<< r <<endl; // vergleich auf falsche position { int t=0; for (i=0;i<3;i++) if(code[i]==versuch[i]) t++; cout<< "falsche Position"<< t <<endl; { } } system("pause"); } [cpp][/cpp]
[cpp]
-
so das hat jetzt geklappt.... wir müssen mit dem dev cpp arbeiten weil das für uns anfänger anscheinend gut ist
-
Zeile 1:
<cmath>statt<math.h>
Zeile 3:<ctime>statt<time.h>
Zeilen 8 - 10 hätte man zusammenfassen können.
Zeile 12: C++ kennt kein Default-Int
Zeilen 14 - 17: In C++ definiert man Variablen so lokal wie möglich.
Zeile 18: Nutze Container der STD statt Arrays.Und das Array-Gewurstel lese ich nicht durch. Löse es mit
std::vector.
-
gbhjkrhb schrieb:
so das hat jetzt geklappt.... wir müssen mit dem dev cpp arbeiten weil das für uns anfänger anscheinend gut ist
Ihr Armen. Gleich am Anfang nur Mist lernen, den man dann nicht mehr los wird. (Ehrlich gesagt ist dein Code auch entsprechend schrecklich, wie EOutOfResources schon gleich zu Anfang gesagt hat). Schluck den Kurs, versuch eine gute Note zu bekommen und dann vergiss nach der Abschlussprüfung besser alles wieder.
-
ok danke werde es versuchen... das müsstest du mal unserem prof sagen der das so haben möchte hahahah
-
gbhjkrhb schrieb:
wir müssen mit dem dev cpp arbeiten weil das für uns anfänger anscheinend gut ist
Ich bemitleide euch, niemand sollte so etwas ertragen müssen

Edit:
oO zu langsam
-
dafür muss ich den kurs aber erstmal bestehen was leider nicht danach aussieht weil das alles nicht in mein kopf möchte
-
Die Frage ist nun: soll das Programm in C oder in C++ geschrieben werden? (in der Aufgabenstellung wird von C gesprochen).
Falls C++:
- schau dir mal find oder auch count an.
Du überprüfst einfach, ob eine eingebene Zahl überhaupt vorkommt.
Falls sie vorkommt, testest du noch ob sie an der richtigen Stelle eingegeben wurde und inkrementierst dann entsprechend entweder die Variable für die richtigen oder für die falschen Positionen.
-
in c++ müssen wir programmieren ok ich werde es versuchen.... sieht so aus als wird das ein sehr langer tag und nacht
-
Der Code enthält aber mindestens drei C++-Fehler.
-
aber er4 zeigt keine fehler an das ist es ja
-
gbhjkrhb schrieb:
in c++ müssen wir programmieren ok ich werde es versuchen.... sieht so aus als wird das ein sehr langer tag und nacht
Um dem Thread mal eine Richtung zu geben: Wenn du eine Frage stellen würdest, dann bekämst du auch Antworten, anstatt Kommentaren zur schlechten Codequalität und der Inkompetenz deines Lehrers.
-
gbhjkrhb schrieb:
aber er4 zeigt keine fehler an das ist es ja
Dann solltest du deinen Lehrer dazu überreden, einen standardkonformen Compiler benutzen zu dürfen.
-
um genau zu sein ich weiß nicht wie ich auf die falsche postion überprüfen soll, soweit ich denke muss da bestimmt nur bei falschr position was geändert werden ich finde aber nicht heraus was... so jetzt meine frage wo liegt genau der fehler da????
-
inkompetent ist er nun nicht bei ihm funktionieren die programme die er schreibt... und ab nächstes semester machen wir dann java... wir sollen halt das benutzen was wir im unterricht schon gemacht haben