Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » nicht casesensitives strcmp

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 ]
000
14.09.2004, 15:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


so da das gerade in einem anderen thread gerade gefordert ist fällt mir ein das man das ja auch mal golfen könnte...


C++:
int f(char*s,char*r){...} //wer am wenigestens zeichen zwischen den klammern hat gewinnt
//0 bei gleichheit und der einfachheit halber irgendwas anderes sonst...


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.09.2004, 16:56 Uhr
(un)wissender
Niveauwart


Ich wette, keiner von euch bekommt überhaupt eine funktionierende Version hin.
Nur als Tipp: es ist viel mehr zu tun als tolower anzuwenden...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.09.2004, 16:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender
lass mich mal nicht doof sterben was muss mann denn noch alles beachten?
ich bilde mir eine eine version weit unter 100 zeichen und eine von der ich noch nicht weiss ob sie immer funzt mit unter 50 zeichen zu haben...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.09.2004, 17:13 Uhr
(un)wissender
Niveauwart


Eine wirkliche caseinsensitive Methode erfordert bspw. mindestens das Berücksichtigen der locals.
Was zum Beispiel passiert bei FUSSBALL == Fußball? Sollte gleich sein...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.09.2004, 17:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender
ok so ne spielereien gehören hier natürlich nicht dazu, das soll einfach nur ein 1:1 vergleich sein...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.09.2004, 17:27 Uhr
(un)wissender
Niveauwart


Wenne meinst, ist dann aber eigentlich nicht korrekt. Bezieh es als auf 7-Bit ASCII, dann ist es ok. 50 Zeichen ist aber schon nicht viel...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.09.2004, 17:52 Uhr
(un)wissender
Niveauwart


Hm, sind bei die die Rückgabewerte nicht vertauscht?
1 wenn nicht gleich?


Bearbeitung:

Ha, beefy, wo ist dein Post?


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

Dieser Post wurde am 14.09.2004 um 17:53 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.09.2004, 17:56 Uhr
0xdeadbeef
Gott
(Operator)


Ja, ja. DAs war grad nur ein einfacher strcmp-Verschnitt. Für case insensitive muss es so aussehen:

C++:
f(s,t)char*s,*t;{while(*s&&*t)if((*s++^*t++)&~32)return 1;return*s|*t;}


Das macht 53 zwischen den Klammern. Dass bei Gleichheit 0 rauskommt, ist per design.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 14.09.2004 um 18:02 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.09.2004, 17:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ja weil strcmp auch 0 liefert wenn beide gleich sind hab ichs so gesagt. wenn du es unbedingt andersrum haben willst solls mir auch recht sein...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
14.09.2004, 17:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
ätsch bätsch

C++:
int f(char*s,char*r){return*s|*r?(*s^*r)&~32?1:f(++s,++r):0;}



und dein schummler mit dem funkion umschreiben gilt nicht... siehe aufgabenstellung...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 14.09.2004 um 18:00 Uhr von Windalf 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: