Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Golfe strstr

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 ] [ 4 ]
010
25.08.2005, 16:55 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


hmm also bei mir sinds 113 mit dem ersten Versuch

C++:
const char* mss(const char* h, const char* n)
{    
for(int j,i;*h;h++){j=0;if(*h==n[j]){for(i=0;h[i]||n[j];++i,++j)if(h[i]!=n[j])break;if(!n[j])return h;}}return 0;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
25.08.2005, 17:04 Uhr
Pablo
Supertux
(Operator)


Mist 108


C++:
const char* mss(const char* h, const char* n)
{
int i=0,j=1;while(h[i] && n[i]){if(h[i]!=n[i])j=0;++i;}if(j)return h;h++;if(*h)return mss(h,n);return NULL;
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
25.08.2005, 17:09 Uhr
DarthDevilous



ver*****, zu früh gefreut
bin jetzt auf 73 hoch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
25.08.2005, 17:16 Uhr
Pablo
Supertux
(Operator)


Mist, nur eins weniger


C++:
const char* mss(const char* h, const char* n)
{
int i=0,j=1;while(h[i++] && n[i])if(h[i]!=n[i])j=0;if(j)return h;if(*(h+1))return mss(h+1,n);return NULL;
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.08.2005 um 17:18 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
25.08.2005, 17:19 Uhr
Tommix



Ha,
jetzt kann ich das, was ich viel besser kann als golfen: Nörgeln:
@Guybrush: Wenn n leer ist, soll h zurückgegeben werden (bei Dir 0).

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
25.08.2005, 17:42 Uhr
DarthDevilous



must du mir auch den ganzen spass verderben? jetzt bin ich nochmals 5 zeichen rauf ... und ich wunder mich immer mehr wie virtual das geschafft hat...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
25.08.2005, 18:25 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat von Pablo:
Mist, nur eins weniger


C++:
const char* mss(const char* h, const char* n)
{
int i=0,j=1;while(h[i++] && n[i])if(h[i]!=n[i])j=0;if(j)return h;if(*(h+1))return mss(h+1,n);return NULL;
}




@pablo
Bist nah dran an dem, was ich tue, aber leider ist Dein Programm vom verhalten nicht definiert: "h[i++] && n[i]" ist nicht so machbar.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
25.08.2005, 18:55 Uhr
Pablo
Supertux
(Operator)


ich weiß, deswegen ärgere ich mich auch.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
25.08.2005, 18:58 Uhr
DarthDevilous



ich komm nicht weiter runter... also hier ist mein code:

C++:
const char* mss(const char* h, const char* n)
{
for(int i=0;*h&&n[i];h++)for(i=0;h[i]&&n[i]==h[i];i++);return(*h)?h-!!n[0]:0;
}



Bearbeitung:

konnte es noch um ein zeichen reduzieren -> 77


Dieser Post wurde am 25.08.2005 um 19:22 Uhr von DarthDevilous editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
25.08.2005, 19:18 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von Tommix:
Ha,
jetzt kann ich das, was ich viel besser kann als golfen: Nörgeln:
@Guybrush: Wenn n leer ist, soll h zurückgegeben werden (bei Dir 0).

- Tommix

Ja weil das nur Null ist wenn der String gefunden wurde und h ist in dem Fall nicht Null.
Aber hab noch was gekürzt bekomme, sind jetzt "nur" noch 104:

C++:
const char* mss(const char* h, const char* n)
{    
for(int j,i;*h;h++){j=0;if(*h==n[j]){for(i=0;;++i,++j)if(h[i]!=n[j])break;if(!n[j])return h;}}return 0;
}


Dieser Post wurde am 25.08.2005 um 19:18 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ 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: