Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Sicaine
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
size_t my_palindrome1(const char* p_string) { const char *p1, *p2, *e = p_string; while ( *e++ ); int len = --e - p_string, max = 1 && len; while ( len-- ) { p1 = p2 = e-len; int i = *--p1 == *p2 || !++p2; while ( p1-p_string && *p1-- == *p2++ ) ++++i; if ( max < ++i ) max = i; } return max; } // 95 size_t my_palindrome2( const char* p_string ) { int max = 0; const char *p, *e = p_string; while ( *++e ); do { int i = 0; p = p_string; while ( p < e ) i += 2 * ( *p++ == *e && *e-- ) + ( p == e ); while ( max < i ) ++max; } while ( --e > p_string ); return max; } // 83 size_t my_palindrome3( const char* p_string ) { int i, max = i = 0; while ( *p_string ) { const char* l, *r = l = p_string; while ( *++r ); while ( l < r ) *l == *r-- ? ++l && ++++i : i = 0, i += l == r; max = max > i ? max : i; ++p_string; } return max; } // 79 size_t my_palindrome4( const char* p_string ) { typedef const char* pchar; pchar e = p_string; while ( *e++ ); pchar p = e; while ( p > p_string ) { int offset = e - p--; while ( offset+1 ) { pchar l = p_string + offset, r = p + offset--; while ( *r == *l && *r ) if ( r-- <= l++ ) return p - p_string + 1; } } return 0; } // 90 |
Administrator
Anonymous
unregistriert
Nicht das es nicht moeglich ist, sondern das es zu lang ist, um zu gewinnen. Man muesste jetzt mal schauen, ob man David_pb Loesung kuerzer formulieren kann, wenn man die Rekursion in eine Schleife umformuliert.Zitat von »"David Scherfgen"«
Da hat David_pb doch tatsächlich eine rekursive Lösung hingekriegt, ohne statische Variablen zu benutzen oder eine separate Funktion zu schreiben! Und das obwohl TGGC im Chat sagte, dass dies nicht möglich sei! ;)
Zitat von »"Helmut"«
Leider bringt das ++++i ja nichts bei David_pb, außer dass es lustig aussieht...
Werbeanzeige