Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » einfaches Rätsel

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
05.07.2004, 10:58 Uhr
KaraHead



Da ich für mein Geld kein bißchen arbeite und daher zu viel Zeit habe, klatsch ich mal ein kleines Rätsel ins Forum.


Code:
Zu schreiben ist eine Funktion, die einen int Wert übergeben bekommt.
Wenn der Wert negative ist dann soll die Funktion -1 zurückliefern. Wenn er gleich 0 ist, dann soll die Fnkt. 0 zurückliefern. Und wenn der Wert >0 ist dann soll die Fnkt. +1 zurückliefern.

Achja, das ganze natürlich ohne if..else und ohne ?:



Viel Spaß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.07.2004, 11:04 Uhr
(un)wissender
Niveauwart



C++:
int function(int x)
{
   while(x == 0) return 0;
   while(x > 0) return 1;
   while(x < 0) return -1;
   return 0; //Für Compiler
}



Das wollte ich schon immer mal tun.


Bearbeitung:

Nicht böse sein, reicht ja, wenn ich es bin.


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 05.07.2004 um 11:06 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.07.2004, 11:21 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich will mal nicht eine so armselige Lösung wie unwissender abliefern

C++:
int signum(int x){return -((x>>(8*sizeof(int)-1))&1) + !((x>>(8*sizeof(int)-1))&1) - !x;}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 05.07.2004 um 11:23 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.07.2004, 11:22 Uhr
KaraHead



@(un)wissender:
Verflucht daran hab ich nicht gedacht

Ok, auch ohne Funktionsaufrufe und den ganzen "while, switch..."-Zeugs.
Nur mit nackten Anweisungen.

Dieser Post wurde am 05.07.2004 um 11:23 Uhr von KaraHead editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.07.2004, 11:46 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


patch

C++:
int signum(int x){return!!x-2*(x>>(8*sizeof(int)-1)&1);}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.07.2004, 11:55 Uhr
Tommix



Hallo,

C++:
int f(int v){return (v>0)-(v<0);}


Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.07.2004, 11:55 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Tommix
argh
man bin ich blöd...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.07.2004, 13:09 Uhr
t10ottoo



Was seid ihr nur für Freaks *g*


Code:
int f(int v){return (v>0)-(v<0);}


Könnte mir das bitte einer erklären? Also wieso die Subtraktion? Das versteh ich net ganz. An nem Beispiel wärs am besten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.07.2004, 13:21 Uhr
KaraHead



Deswegen heißt es auch Rätselecke, weil kaum einer eine Ahnung hat wie der Code funktioniert
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.07.2004, 13:26 Uhr
t10ottoo




Zitat:
KaraHead postete
Deswegen heißt es auch Rätselecke, weil kaum einer eine Ahnung hat wie der Code funktioniert


Lol, aber wenigstens Windalf müsste ihn erklären können *wart*
Mich interessiert sowas nunmal *g*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: