Guten Tag zusammen,
ich hab ein ganz kleines Problem bezüglich einer Funktion mit 2 int Arrays.
Aber hier ertstmal der Code:
Das Programm kann man Compilieren, es läuft, also schaut es euch an. Kurze Beschreibung des Codes. Also ich habe 2 Arrays, die parallel laufen und schreibe in jedes eine Zahl an die gleiche Position. Falls die Zahlenkombination noch nicht in den Arrays an der gleichen Position enthalten ist, kommen sie hinzu, also werden sie in die Arrays eingefügt. Sind die Zahlen jedoch enthalten, sollen sie nicht mehr eingefügt werden und stattdessen neue Zahlen generiert werden und dieser Test erneut ablaufen.
Das eigentliche Problem scheint meiner Ansicht daran zu liegen, dass ich den boolwert suchergebnis nicht in der Funktion zahleninArrays abfragen kann. Aber wie gesagt, das ist nur ne Vermutung. Ich hab jetzt schon alles, was mir so einfiel probiert und komm da einfach nicht weiter. Kann mir da jemand mal bitte helfen? Ist echt richtig wichtig!Danke
ich hab ein ganz kleines Problem bezüglich einer Funktion mit 2 int Arrays.
Aber hier ertstmal der Code:
Code:
const int size = 10;
int arrayXWert[size];
int arrayYWert[size];
int x_Wert;
int y_Wert;
int arrayspeicherstelle;
int startwert;
bool suchergebnis;
// prüft ob die Werte schon in den Arrays sind
int suchen()
{
for(int i = 0; i < size; i++)
{
if(arrayXWert[i] ==x_Wert)
{
cout <<"Hier steht der x_Wert: "<< i<< endl;
//teste ob der y-Wert auf dem 2.ten Array auch an der gleichen Position wie i ist
if(arrayYWert[i] == y_Wert)
{
cout << "und der y-Wert stimmt auch ";
cout <<"Hier steht der y-Wert: "<< i<< endl;
cout <<endl;
suchergebnis=true;
}
else
{
cout<<"y_Wert noch nicht enthalten"<< endl;
cout << "somit angriff mit den Koordinaten "<<x_Wert <<" " << y_Wert<< endl;
cout <<endl;
suchergebnis =false;
}
}
else
{
suchergebnis = false;
}
}
return suchergebnis;
}
// packt die Werte in die Arrays
void zahleninArrays()
{
suchen();
if(startwert==0)
{
if (arrayspeicherstelle < size)
{
arrayXWert[arrayspeicherstelle] = x_Wert;
arrayYWert[arrayspeicherstelle] = y_Wert;
arrayspeicherstelle++;
cout << "Startwert erfolgt und Angriff mit den Werten "<< x_Wert<< " " << y_Wert<< endl;
cout <<endl;
}
startwert++;
}
else//(startwert > 0)
{
suchen();
if(!suchergebnis)//1 somit noch nicht im Array
{
// dann eintragen und die Speicherstelle erhöhen
arrayXWert[arrayspeicherstelle] = x_Wert;
arrayYWert[arrayspeicherstelle] = y_Wert;
arrayspeicherstelle++;
cout << "Naechster Wert drin"<< endl;
cout << endl;
}
else// also suchenergebnis== true, somit gefunden im Array
{
// dann neue Zahlen generieren und test erneut durchführen
cout << "Muss neu gemacht werden"<< endl;
cout <<endl;
//neugenerieren();
}
}
}
int main ()
{
// eingabe einiger werte und funktionsaufruf
x_Wert=1;
y_Wert=3;
suchen();
zahleninArrays();
x_Wert= 2;
y_Wert=5;
suchen();
zahleninArrays();
x_Wert= 2;
y_Wert=5;
suchen();
zahleninArrays();
// Ausgabe der Arrays zum prüfen
cout << arrayXWert[0]<< " "<< arrayXWert[1]<< " "<<arrayXWert[2]<<" " <<arrayXWert[3]<<endl;
cout << arrayYWert[0]<< " "<< arrayYWert[1]<< " "<<arrayYWert[2]<<" " <<arrayYWert[3]<<endl;
Das eigentliche Problem scheint meiner Ansicht daran zu liegen, dass ich den boolwert suchergebnis nicht in der Funktion zahleninArrays abfragen kann. Aber wie gesagt, das ist nur ne Vermutung. Ich hab jetzt schon alles, was mir so einfiel probiert und komm da einfach nicht weiter. Kann mir da jemand mal bitte helfen? Ist echt richtig wichtig!Danke