String - usuwanie takich samych liter występujących po sobie
Ostatnio zmodyfikowano 2014-01-17 12:19
lucky44 Temat założony przez niniejszego użytkownika |
String - usuwanie takich samych liter występujących po sobie » 2014-01-17 11:34:15 Witam , mam problem zrobiłem coś takiego: #include "stdafx.h" #include <iostream> #include <string>
using namespace std;
int _tmain( int argc, _TCHAR * argv[] ) { string wyraz; cin >> wyraz; int n = wyraz.size(); for( int i = 0; i < n; i++ ) if( wyraz[ i ] == wyraz[ i + 1 ] ) { wyraz[ i ] = ''; wyraz.erase( i, 1 ); } cout << wyraz << endl; fflush( stdin ); getchar(); return 0; }
Program ma działać tak, że mam wpisać wyraz np. praaca i ma mi wypisać praca. Proszę o pomoc bo ciągle z tym walczę i bez efektów albo nie działa tak jak powinno albo nie kompiluje, albo wysypuje. |
|
Monika90 |
» 2014-01-17 12:04:32 Zrób tak i już size_t i = 1; while( i < wyraz.size() ) if( wyraz[ i ] == wyraz[ i - 1 ] ) wyraz.erase( i, 1 ); else ++i;
A to to jest złe, to jest niezdefiniowane zachowanie, kto cię tego nauczył? |
|
lucky44 Temat założony przez niniejszego użytkownika |
» 2014-01-17 12:19:02 fflush( stdin ) uczyli mnie tak (na studiach informatycznych) zatrzymywać program zamiast np. : system( "Pause" ) Dzięki wielkie za pomoc. |
|
« 1 » |