Znajdywanie palindromów w tekscie.
Ostatnio zmodyfikowano 2016-01-17 20:00
bojo240 Temat założony przez niniejszego użytkownika |
Znajdywanie palindromów w tekscie. » 2016-01-17 19:16:07 Witam, mam pewien problem, otóż mam za zadanie napisać program program wyszukujący wszystkie palindromy w tekście, gdzie palindrom to ciąg znaków czytany od lewej tak samo jak od prawej o długości>2. Mój obecny kod: #include <iostream> #include <string> using namespace std; int main() { string text, czypalindrom; cin >> text; int i = 0, koniec = 2, n = text.length(); do { do { czypalindrom = text.substr( i, i + koniec ); if( czypalindrom == string( czypalindrom.rbegin(), czypalindrom.rend() ) ) cout << czypalindrom << " "; i++; } while(( i + koniec ) <= n ); i = 0; koniec++; } while(( i + koniec ) <= n ); return 0; }
Niestety przy danych wejsciowych baaadaaab nie wyszukuje np 'ada', a na przykład przy danych wejściowych 'a', wyświetla jako palindrom, choć zdecydowanie nie powinien. Ktoś, coś? Z góry dziękuje. |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2016-01-17 19:52:26 Z moich obserwacji wynika, że coś nie gra w substr(i, i+koniec), ale nie widzę powodu czemu. |
|
pekfos |
» 2016-01-17 19:57:28 Drugi argument substr to długość wycinka, a nie pozycja końca. |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2016-01-17 20:00:01 Właśnie doczytałem, już miałem pisać. Program teraz działa, dzięki bardzo za pomoc! :D |
|
« 1 » |