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, 21:17 #11Erfahrenes Mitglied Daddel König
- Registriert seit
- 29.11.2006
- Beiträge
- 1.029
- Beigetretene Turniere
- 0
- Turnier Siege
- 0
- Marktplatzbewertung
- 3 (100%)
-
18.06.2008, 21:23 #12Erfahrenes Mitglied Eingespielt
- 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 derjetzt machen ?Zitat 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, 21:27 #13Erfahrenes Mitglied Daddel König
- 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, 21:30 #14Erfahrenes Mitglied Eingespielt
- 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, 21:33 #15Erfahrenes Mitglied Daddel König
- 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:
Schau Dir mal Deine IF-Abfrage an und dann schau Dir mein IF an.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, 21:39 #16Erfahrenes Mitglied Eingespielt
- 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, 21:44 #17Erfahrenes Mitglied Daddel König
- 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, 21:48 #18Erfahrenes Mitglied Eingespielt
- 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, 21:51 #19Erfahrenes Mitglied Daddel König
- 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, 19:20 #20Erfahrenes Mitglied Eingespielt
- 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.

Zitieren