zamiana spacji w tekscie na nową linię
Ostatnio zmodyfikowano 2015-05-18 13:36
ghorrak Temat założony przez niniejszego użytkownika |
zamiana spacji w tekscie na nową linię » 2015-05-18 12:14:33 Witam.Napisałem program który znajduje palindromy, ale będąc osobą kreatywną postanowiłem iść za ciosem i napisać program który w miejscu spacji wstawi nową linię a następnie sprawdzi czy tekst jest palindromem. Palindromy znajdowane są poprawnie lecz, spacji nie znajduje i zatrzymuje się na tej funkcji.Czy ktoś mógł by sprawdzić gdzie mam błąd ? Program wygląda tak: #include <iostream> #include <fstream> #include <cstring>
using namespace std; bool sprawdz( char napis[] ) { for( int i = 0; i < strlen( napis ) / 2; i++ ) { if( napis[ i ] != napis[ strlen( napis ) - i - 1 ] ) return false; } return true; } void czySpacja( string & tekst ) { size_t znalezionaPozycja = tekst.find( " " ); if( znalezionaPozycja == string::npos ) { cout << "nie ma spacji" << endl; return; } else do { tekst.erase( znalezionaPozycja, 1 ); tekst.insert( znalezionaPozycja, "\n" ); znalezionaPozycja = tekst.find( " ", znalezionaPozycja + 1 ); } while( znalezionaPozycja != string::npos ); } int main( int argc, char ** argv ) { fstream plik; plik.open( "palindromy.txt" ); string tekst; char napis[ 20 ]; while( getline( plik, tekst ) ) { czySpacja( tekst ); } while( plik.getline( napis, 20 ) != 0 ) { cout << napis << endl << endl; if( sprawdz( napis ) == true ) cout << napis << " jest palindromem" << endl; } plik.close(); return 0; } |
|
michal11 |
» 2015-05-18 13:09:32 1. tekst w zanaczniki 2. Problem jest taki, że mieszasz string z c-string. Zdecyduj się z czego chcesz korzystać. |
|
ghorrak Temat założony przez niniejszego użytkownika |
» 2015-05-18 13:36:28 chyba już wiem o co chodzi. dzięki wielkie |
|
« 1 » |