Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Mönchs-Rätsel Nr. 2

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 <
000
12.11.2004, 00:53 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Haben wir eigentlich schon Sortierfunktionen gegolft?


C++:
void sort(int *a, int l)
{
...
}



Parameter: Ein Array aus ints und die Anzahl der Elemente darin. Die Funktion soll das Array aufsteigend sortieren, die Geschwindigkeit spielt keine Rolle.

Aufruf z.B. mit

C++:
int main()
{
   int i;
   int a[] = {15, 23, 1, 17, -6, 0, 75, 58, 6, 28};
   sort(a, 10);
   for(i=0; i<10; i++) printf("%d%s", a[i], i<9 ? "," : "");
   return 0;
}



Biete 79 Zeichen. Merkt man, daß ich Blut geleckt habe, was das Golfen angeht?
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.11.2004, 10:20 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
int c(int a,int b){return a-b;} //31 Zeichen
void sort(int*a,int l){qsort(a,l,4,c);} //39 Zeichen
// => 70 Zeichen


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

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


virtual muss natürlich mal wieder das rätsel torpedieren...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.11.2004, 12:45 Uhr
Bruder Leif
dances with systems
(Operator)


Ups, hab vergessen zu erwähnen, daß qsort tabu ist
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.11.2004, 13:02 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Leif
was meinst du mit 79? zwischen den geschweiften klammern oder komplett?


C++:
void s(int*a,int l){int*x=a++,i,y;for(i=l--;--i;++a)*a<*x?y=*x,*x=*a,*a=y:0;l?s(x+1,l):0;}


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

Dieser Post wurde am 12.11.2004 um 13:22 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.11.2004, 13:50 Uhr
Bruder Leif
dances with systems
(Operator)



Zitat von Windalf:
@Leif
was meinst du mit 79? zwischen den geschweiften klammern oder komplett?


Zwischen den Klammern... nicht schlecht, die Rekursion! Aber die Funktion heißt immer noch "sort", nicht "s"
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.11.2004, 13:53 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Zwischen den Klammern... nicht schlecht, die Rekursion! Aber die Funktion heißt immer noch "sort", nicht "s"


ok aber auch wenn du sort ausschreibst bin ich immer noch unter 79


Bearbeitung von FloSoft:

Es sind 72, nur zur Info


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

Dieser Post wurde am 12.11.2004 um 23:24 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.11.2004, 13:08 Uhr
kronos
Quotenfisch
(Operator)


Windalf, eins geht noch mindestens:

C++:
void s(int*a,int l){int*x=a++,i,y;for(i=l--;--i;++a)*a<*x?*a^=*x^=*a^=*x:0;l?s(x+1,l):0;}

Du hast natürlich gewonnen, weil ich grad keine Lust hab' 'nen Ansatz zu entwickeln, aber ist das nicht eine tolle Methode um zahlen zu tauschen? :-)
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.11.2004, 13:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ups an das mit dem xor hab ich gar nicht gedacht in dem moment... bzw dran gedacht hatte ich schon aber nicht daran das in einer kompletten gleichsetzerei zu verwenden... wenn man das einzelen macht wird das durch die dummen pointer nämlich länger und dann hab ich das gute alte swap mit der zwischenvariable verwendet. Nette Idee
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.11.2004, 14:56 Uhr
kronos
Quotenfisch
(Operator)


wenn du die deklaration von y rausstreichst, sparst du sogar drei zeichen...

btw.: Es ist Freitag Mittag, alle Arbeit ist getan, aber zum heimgehen isses zu früh
---> Wir brauchen neue Rätsel!!
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: