Zitat:
Schreiben sie eine Funktion welche zwei Einträge eines Arrays vertauscht. Der Funktion sollen die beiden zu vertauschenden Elemente als Argumente übergeben werden. Damit dies funktioniert, müssen Zeiger auf die beiden Elemente (also Pointer auf die Elemente des Arrays die ihrerseits Pointer vom Typ char* sind) übergeben werden. Das bedeutet Sie müssen mit Pointern arbeiten, die wiederum auf Pointer zeigen - die Übergabeparameter der Vertauschungsfunktion müssen also vom Typ char** sein. Verwenden sie nicht die Indexnummer im Array als Übergabeparameter. Testen sie die Funktion indem Sie mit ihrer Hilfe den ersten und letzten Eintrag Ihres Arrays vertauschen und das Array vor und nach der Vertauschung ausgeben lassen.
|
PHP-Code:
void vertauschung(pointer1, pointer2)
{
char hilfs;
hilfs = pointer1;
pointer1 = pointer2;
pointer2 = hilfs;
}
int main ()
{
[.....]
*pointer1 = array[0];
*pointer2 = array [ARRAYLENGTH-1];
vertauschung(*pointer1, *pointer2);
}
Also diese Aufgabe ist verdammt hart... Ich denke mal mein vertauschungscode sollte passen, ich weiß aber nicht ob die funktion wirklich ein void sein darf, noch wie ich das mit der ausgabe des "vertauschten" arrays hinbekomm. Allgemein die aufgabenstellung mit "pointer auf pointer" verwirrt mich ziemlich und ich weiß nicht wie ich von der funktion aus irgendetwas brauchbares in die main bekomme.