jokey2
Erfahrenes Mitglied
Soweit richtig, aber die Definitionvoid array_erstellen(int*&, int&);
muß, wie in der Deklaration heißen:// ARRAY PER ZUFALL ERSTELLEN
void array_erstellen(int *array, int *arraymax){
Code:
// ARRAY PER ZUFALL ERSTELLEN
void array_erstellen(int *&array, int &arraymax){ //<-----geändert!
int lauf = 0;
int elem_min = 1;
int elem_max = 50;
int elem_anzahl = 0;
randomize();
//Abfragen wie viele Elemente das Array beinhalten soll
//Array darf aus Gründen der Rechenzeit nicht mehr als 50 Elemente beinhalten
cout << "Wie viele Elemente soll das Array enthalten (1-50)?" << endl;
do{
cin >> elem_anzahl;
}while(elem_anzahl < elem_min && elem_anzahl > elem_max);
cout << "elem_anzahl= " << elem_anzahl << endl;
array = new int[elem_anzahl]; // <------ Deklarieren von Array
//Array mit zufälligen Werten zwischen 1 und 100 füllen
for(lauf=0; lauf<elem_anzahl; lauf++){
array[lauf]=random(100);
cout << "array[" << lauf << "] = " << array[lauf] << endl;
}
arraymax = sizeof(array)/sizeof(array[0]); // <------- arraymax berechnen <-----geändert!
cout << "arraymax= " << arraymax << endl;
}
Code:
array_erstellen(array, arraymax); //Array erstellen und Array + Arraygröße zurückgeben