http://www.pronix.de -> Forum -> Knobelecke

Forum: Knobelecke

Moderatoren: broesel, juergen

Thema: int-Swap

int-Swap

broesel (webmaster) am 18.07.2004 um 02:57


Gegeben zwei int-Variablen x und y mit unterschiedlichen Werten. Wie kann man die Werte der beiden Variablen vertauschen (Swap), ohne Funktionen oder Hilfsvariablen zu verwenden?

Gruss
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 

int-Swap

Anonym am 18.07.2004 um 10:34

Ja, da bin ich unter der Dusche drauf gekommen, ist eigentlich ganz einfach:


void swap(int x, int y) {
   y = x - y;
   x = x - y;
   y = x + y;
   return;
}
 

int-Swap

Reset am 18.07.2004 um 10:36

Ich wusste gar nicht, dass ich hier auch als anonymous posten kann, is ja bloed.
 

int-Swap

broesel (webmaster) am 18.07.2004 um 11:41


Reset's Lösung ist richtig!
Geht es noch kürzer? Zwei Zeilen? Eine Zeile?

Zitat:
Ich wusste gar nicht, dass ich hier auch als anonymous posten kann, is ja bloed.


Ja, das Board ist write-public. Hab auch schon versehentlich gepostet, ohne eingeloggt zu sein.

Gruss
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 

int-Swap

Reset am 18.07.2004 um 12:05

Ich glaube nicht, dass es mit einer Zeile geht, da ich ja zwei Zuweisungen habe einmal x und einmal y. Die eine Zeile wäre dann nur wieder ein verkappter Zweizeiler.

Den zwei Zeiler wüsste ich jetzt nicht wie der gehen sollte, aber vielleicht fällt er mir ja noch ein. Ich würde sogar momentan sagen, dass es auch keinen Zweizeiler gibt. Aber naja, mal sehen.

Geht der Zwei- oder Einzeiler denn in meine Richtung?