Das hat mit der Schleife nichts zu tun. Ob jetzt "<=6" oder "<7" ist relativ egal.
Aber das mußt Du dann auch eine Variante durchziehen... das hier ist jetzt falsch:
Du mußte bei 0 anfange und entweder bei '<=6' oder bei '<7' aufhören, aber nicht bei 1 anfangen und bei '<=7' aufhören!Zitat von TheRacer
*edit*
Sorry, habe gerade gesehen, daß Du das beim Einlesen durch dein e-1 wieder 'reparierst'. Aber schön ist anders.
Das liefert Dir 0 bis 49 zurück, das willst Du auch nicht wirklich:
Zitat von TheRacer
Ergebnis 11 bis 20 von 26
-
18.06.2008, 22:17 #11
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
-
18.06.2008, 22:23 #12
- Registriert seit
- 12.10.2006
- Beiträge
- 322
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 2 (100%)
den Post habe ich jetzt nicht verstanden.
Oder zumindest nicht so das ich die Fehlermeldung durch das Vergleichen der Arrays weg bekomme.
Was muss ich mit derZitat von TheRacer
for (e=1; e<=7; e++)
Das mit dem "<7" geht jetzt.
Jetzt habe ich in der Schleife:
for (e=0; e<7; e++)
{
cout << "Bitte geben die ihre " << e << ". Zahl ein:\t";
cin >> Tipp[e];
}
Mit dem rand()%50 geht. Der soll mir ja 7 Zahlen in dem Bereich von 0 - 49 generieren. Das funzt auch ohne Probleme
-
18.06.2008, 22:27 #13
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
Bekommst Du den Fehler immer noch beim vergleichen des Arrays?
Hm... ich schau nochmal.
-
18.06.2008, 22:30 #14
- Registriert seit
- 12.10.2006
- Beiträge
- 322
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 2 (100%)
Ja. Bekomme ich immernoch.
Hab mir die Werte wenn ich debug auch mal angeschaut wenn die Fehlermeldung kommt. Bei beiden Arrays steht irgentein Hexcode drin. In den Variablen einmal 3121 und einmal 7.
Das mit dem "e-1" war dafür das nachher in der Ausgabe bei der 1. Zahl zum eingeben:
"Bitte geben sie die 1. Zahl ein:" steht und nicht wie jetzt:
"Bitte geben sie ihre 0. Zahl ein:".
Das ist mir jetzt aber auch egal. Da mache ich einfach in der Ausgabe "e+1" und dann passt das wieder.
Das ist das kleinste Problem.
Das Vergleichen ist viel wichtiger.
Mittlerweile kann ich mir garnicht vorstellen das ich das morgen als Arbeit schreiben muss, da wir so eine komplizierte Aufgabe noch nie gemacht haben.
MAch sie jetzt aber trotzdem fertig.
Wenn wir das morgen doch schreiben hbae ich es.
-
18.06.2008, 22:33 #15
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
Du machst mich fertig... nicht böse gemeint.
Falsch:
Zitat von TheRacer
Richtig:
Code:for(w=0; w<7; i++) { for(h=0; h<7; h++) { if( Zufall[w] == Tipp[h] ) { Richtige++; } } }
Die Aufgabe ist zwar schon "etwas" anspruchsvoller, aber nicht vom Programmieren her.
Wie Du siehst braucht man nur IFs und FOR-Schleifen.
-
18.06.2008, 22:39 #16
- Registriert seit
- 12.10.2006
- Beiträge
- 322
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 2 (100%)
bleibe hängen.
Wie soll das gehen. Ich hülle am anfange die Arrays mit der Variablem i und e.
Nachher setzte ich w und h ein.
w und h habe ich ganz oben mit 0 initialisiert.
Dann ist doch klar das alles richtig st.
Es geht trotzdem nicht.
Wenn ich die 7 Zahlen eigegeben habe geht es nicht mehr weiter.
Fehlermeldung kommt jetzt nicht mehr.
Sorry wenn du grad an der Decke hängt wegen mir.
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int Richtige = 0;
int Zufall[7];
int Tipp[7];
int e;
int w = 0;
int i;
int h = 0;
for(i=0; i<7; i++)
{
Zufall[i]=rand()%50;
cout << Zufall[i] << endl;
}
for (e=0; e<7; e++)
{
cout << "Bitte geben die ihre " << e << ". Zahl ein:\t";
cin >> Tipp[e];
}
for(w=0; w<7; i++)
{
for(h=0; h<7; h++)
{
if( Zufall[w] == Tipp[h] )
{
Richtige++;
}
}
}
cout << "Sie haben " << Richtige << " Richtige!" << endl;
fflush(stdin);
getchar();
return 0;
}
-
18.06.2008, 22:44 #17
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
Da ist noch ein Fehler drinne:
Falsch:
Code:for(w=0; w<7; i++)
Richtig:
Code:for(w=0; w<7; w++)
Mit der falschen Variante hast Du eine schöne Endlosschleife produziert.
-
18.06.2008, 22:48 #18
- Registriert seit
- 12.10.2006
- Beiträge
- 322
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 2 (100%)
Ich würde ich jetzt zu gerne Umarmen.
Es geht
Vielen, vielen Dank.
Morgen gehts ab.
-
18.06.2008, 22:51 #19
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
Cool
Sag mir bescheid, was bei der Arbeit rausgekommen ist. Viel Glück!
Gute Nacht....
-
19.06.2008, 20:20 #20
- Registriert seit
- 12.10.2006
- Beiträge
- 322
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 2 (100%)
So. Ich melde mich wieder.
Arbeit ist bombe gelaufen. Wir hatten 60min Zeit. Nach 15min war ich fertig.
Kam genau die Aufgabe dran. Die kann ich mittlerweile auswendig.
Musst dann nur noch die Variablen umschreiben in den Namen der in der Arbeit vorgegeben war und dann das Tipp Array statt mit 7 Zahlen mit 6 füllen.
Die Zufallszahlen blieben bei [7].
Also musst ich nur die Arraygröße umschreiben und die Schleife ein bisschen ändern.