Форум программистов, компьютерный форум CyberForum.ru

замена повторяющихся символов - C++

Восстановить пароль Регистрация
 
dan_strong
6 / 6 / 0
Регистрация: 28.12.2010
Сообщений: 113
06.03.2011, 21:37     замена повторяющихся символов #1
всем привет можете подсказать, пожалуйста)) в общем такая задача: у нас на входе есть строка, которая вводилась с залипанием клавиш!(например: какккккаяяяя хорооооошая поггггода) на выходе должна получиться строка без залипаний! (т.е. какая хорошая погода)! воот...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.03.2011, 23:11     замена повторяющихся символов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<algorithm>
#include<windows.h>
 
int main(){
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    std::string s="(например: какккккаяяяя хорооооошая поггггода)";
    std::string::iterator it;
    while((it=std::adjacent_find(s.begin(), s.end()))!=s.end()){
        s.erase(it);
    }
    std::cout<<s<<"\n";
}
dimon1984
40 / 38 / 0
Регистрация: 22.01.2011
Сообщений: 670
06.03.2011, 23:31     замена повторяющихся символов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    char s[]="какккккаяяяя хорооооошая поггггода";
    int i=0;
    for(int x=0; x<strlen(s);x++)
    {
        if(s[x]==s[x+1]) continue;
        s[i++]=s[x];
    }
    s[i]=0;
    cout<<s<<endl;
 
    system("pause");
    return 0;
}
dan_strong
6 / 6 / 0
Регистрация: 28.12.2010
Сообщений: 113
08.03.2011, 20:50  [ТС]     замена повторяющихся символов #4
спасибо парни)) а теперь не подскажите, как посчитать количество удаленных символов? каждый по отдельности..
dimon1984
40 / 38 / 0
Регистрация: 22.01.2011
Сообщений: 670
08.03.2011, 21:11     замена повторяющихся символов #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
        char s[]="какккккаяяяя хорооооошая поггггода";
        int i=0, udaleno=0;
        for(int x=0; x<strlen(s);x++)
        {
                if(s[x]==s[x+1]) { udaleno++; continue; }
                s[i++]=s[x];
        }
        s[i]=0;
        cout<<s<<' '<<udaleno<<endl;
 
        system("pause");
        return 0;
}
dan_strong
6 / 6 / 0
Регистрация: 28.12.2010
Сообщений: 113
08.03.2011, 21:29  [ТС]     замена повторяющихся символов #6
не не, смотри это посчитается в общем количество удаленных! а надо чтоб каждый символ считался в отдельности! чтоб написало мне к примеру:
символов "к" удалено 3; символов "а" удалено "7"; ну и так далее.....
dimon1984
40 / 38 / 0
Регистрация: 22.01.2011
Сообщений: 670
08.03.2011, 22:15     замена повторяющихся символов #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main()
  {
        char s[]="какккккаяяяя хорооооошая поггггода";
        int i=0, udaleno=0;
    char temp;
        for(int x=0; x<strlen(s);x++)
        {
            if(s[x]==s[x+1]) 
        {
            temp=s[x];
            udaleno++; continue;
        }
            s[i++]=s[x];
            if(udaleno){
                cout<<temp<<" - udaleno:"<<udaleno<<endl;
                udaleno=0;}
        }
        s[i]=0;
        cout<<s<<endl;
 
        system("pause");
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2011, 18:20     замена повторяющихся символов
Еще ссылки по теме:

C++ Замена повторяющихся элементов на минимальный
C++ Удаление повторяющихся символов массива
C++ Удаление повторяющихся символов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
dan_strong
6 / 6 / 0
Регистрация: 28.12.2010
Сообщений: 113
09.03.2011, 18:20  [ТС]     замена повторяющихся символов #8
воо) спасибо огромное!!!
Yandex
Объявления
09.03.2011, 18:20     замена повторяющихся символов
Ответ Создать тему
Опции темы

Текущее время: 16:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru