Ich bezweifle, dass er dazu im Moment in der Lage ist (nicht persönlich nehmen marioschluse).
Ja, da hast du recht, ich weiß wie schlecht ich c++ bin, kein Problem
So sieht zurzeit meine Funktion aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
void rekursion (int array2[], int anfang, int ende)
{
if (anfang!=ende)
{
int mitte=0;
mitte=(anfang+ende)/2;
cout<<array2[mitte]<<endl;
rekursion (array2, anfang, mitte); //Hier soll die Rekursion anfangen, mit der Mitte, als neues Ende...
}
else
{
???
}
}
|
Kurze erläuterung:
Es wird das vorgegebene array, den Anfang des Arrays (natürlich 0) und das Ende des Arrays an die Funktion übergeben.
Solange Anfang ungleich Ende ist ist,
wird das mittlere Element berechnet und ausgegeben.
Danach wird die eigene Funktion in sich selbst aufgerufen, mit dem Unterschied, dass die Mitte diesmal das letzte Element ist.
Wenn aber Anfang gleich Ende ist,
brauche ich auf jedenfall einen neuen Wert für das Ende... (das möchte ich in der else-konstrukt machen)
Leider kann ich das Ende nicht mehr mit sizeof(array2)/sizeof(int) berechnen, da das ja nur zeiger sind.
Außerdem kann ich das Ende auch nicht irgendwie zwischenspeichern, weil die Variable dann bei jedem Funktionsaufruf wieder überschrieben werden würde....
hat jemand ne idee?
Ein kleines Beispielcode wäre sehr hilfreich.