array - invalid types `int[int]' for array subscript
-
Ich hab folgenden Code:
int main() { srand(time(0)); int i; int eingabearray[6]; int randomarray[6]; int randomzahl=rand()%9+1; int punkte=0; randomarray[6]=(randomzahl,randomzahl,randomzahl,randomzahl,randomzahl,randomzahl); cout<<"Ratten sie folgende 7 Zahlen, Werte zwischen 1 und 9!"<<endl; for (i=0;i<7;i=i+1) { cout<<i+1<<". Zahl:"<<endl; cin>>eingabearray[i]; if (eingabearray[i]==randomzahl[i]) { punkte=punkte+1; } } cout<<"Sie haben:"<<punkte<<"erreicht. Glückwunsch"<<endl; getch(); }
Doch nun bleibt er bei der if Abfrage hängen mit dem Argument: invalid types `int[int]' for array subscript
Nur weiß ich nicht wie ich den Fehler beheben kann, kann mir ja jemand weiter helfen?
-
als erstes sehe ich, dass du den bereich des array überschreitest, aber das dürfte eingentlich nur zur laufzeit und im debugmodus zum absturz führen mit segementation fault.
eingabearray[i]==randomzahl[i]
randomzahl ist kein array, du muss randomarray[i] statt dessen nehmen,m da hat du dein array
-
randomarray[6]=(randomzahl,randomzahl,randomzahl,randomzahl,randomzahl);
Man beginnt immer bei 0 zu zählen an
Und der "6"-er bedeutet, wieviele Werte drínnen stehen.So gehts:
int arr[5] = { 0, 1, 2, 3, 4 };
Daniel
-
im array randomzahl steht überall das gleiche drin
-
Cr3at0r schrieb:
randomarray[6]=(randomzahl,randomzahl,randomzahl,randomzahl,randomzahl,randomzahl);
Sowas wirst du nur schwer durch den Compiler bekommen - Initialisierungslisten kannst du nur zur Initialisierung einer Variable verwenden, nicht für spätere Zuweisungen. Wenn du das Array nachträglich füllen willst, mußt du auf jedes Element einzeln zugreifen.
-
"Ratten sie"
naja ich bin auch nich gut in rechtschreibung
-
Das jetzt Rechtschreibfehler drinne waren, ist ja nicht weiter schlimm, da es ja auch nur der Ausgabetext war, das mit der Variablennamen war doof. *G*
Hab mal alle Fehler ausgmeerzt und geschaut was noch falsch sein könnte und jetzt geht es auch.
Vielen Dank an euch.!