Wyszukiwanie białych znaków.
Ostatnio zmodyfikowano 2012-12-14 08:37
Forczek Temat założony przez niniejszego użytkownika |
Wyszukiwanie białych znaków. » 2012-12-13 20:06:28 Mam problem z wyszukaniem białych znaków. Gdy szukam każdy jeden znak, wszystko działa. Gorzej mam z białymi znakami. W moim wypadku spacjami. Co można zrobić, mieliście taki problem? |
|
SeaMonster131 |
» 2012-12-13 20:23:04 Spróbuj np tak: string tab = "To jest ciag znakow"; int bialeZnaki = 0;
for( int i = 0; i < tab.size(); ++i ) if( tab[ i ] == ' ' ) bialeZnaki++;
|
|
Forczek Temat założony przez niniejszego użytkownika |
» 2012-12-13 20:34:16 Mam nadal błąd. Wyskakuje jakiś napis, gdy wypisuje pozycje znaków.
|
|
jsc |
» 2012-12-13 21:07:05 for( int i = 0; i < tab.size(); ++i ) if( tab[ i ] == ' ' ) bialeZnaki++;
To się nie rozpadnie się ze względu na przejście do nowej linii. @Forczek Spróbuj: for( int i = 0; i < tab.size(); ++i ) { if( tab[ i ] == ' ' ) { bialeZnaki++; } }
|
|
Mrovqa |
» 2012-12-13 22:26:24 @jsc wiesz, że ten kod wcale nie poprawiłeś, tylko po prostu dodałeś nic nie zmieniające nawiasy (zapisałeś go inaczej), nie? |
|
CodeMeister |
» 2012-12-13 22:45:35 ale to nie są kody na pozycje białych znaków tylko ich licznik... |
|
CodeMeister |
» 2012-12-13 22:53:04 vector < size_t > pos; string bla = "a b c d"; for( size_t i = 0; i != bla.size(); ++i ) { if( bla[ i ] == ' ' ) pos.push_back( i ); }
for( size_t x = 0; x != pos.end(); ++x ) cout << pos[ x ];
|
|
Mrovqa |
» 2012-12-14 08:37:16 @CodeMeister x != pos.end(); Popraw na vector::size() ;) (nie korzystasz z iteratora przecież) |
|
« 1 » |