Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

String - usuwanie takich samych liter występujących po sobie

Ostatnio zmodyfikowano 2014-01-17 12:19
Autor Wiadomość
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:

C/C++
#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 ] = ''; // tu mam problem - nie mogę zrobić czegoś takiego
        wyraz.erase( i, 1 ); //rowniez nie dziala, program sie wysypuje
    }
   
   
   
    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.
P-102356
Monika90
» 2014-01-17 12:04:32
Zrób tak i już
C/C++
size_t i = 1;
while( i < wyraz.size() )
if( wyraz[ i ] == wyraz[ i - 1 ] )
     wyraz.erase( i, 1 );
else
     ++i;



A to

fflush( stdin );
to jest złe, to jest niezdefiniowane zachowanie, kto cię tego nauczył?
P-102357
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.
P-102358
« 1 »
  Strona 1 z 1