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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dan_strong
6 / 6 / 0
Регистрация: 28.12.2010
Сообщений: 113
#1

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

06.03.2011, 21:37. Просмотров 854. Ответов 7
Метки нет (Все метки)

всем привет можете подсказать, пожалуйста)) в общем такая задача: у нас на входе есть строка, которая вводилась с залипанием клавиш!(например: какккккаяяяя хорооооошая поггггода) на выходе должна получиться строка без залипаний! (т.е. какая хорошая погода)! воот...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2011, 21:37     замена повторяющихся символов
Посмотрите здесь:

Закодировать входную строку алгоритмом сокращения повторяющихся символов. C++
Устранение повторяющихся символов, чтобы остался только один. C++
Удаление повторяющихся символов C++
C++ Удаление повторяющихся символов
Указать индексы повторяющихся символов C++
Удаление повторяющихся символов из строки C++
Удаление из строки повторяющихся символов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 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++ Удаление повторяющихся символов массива
C++ Удаление повторяющихся символов
Поиск повторяющихся символов в тексте и удаление таких строк C++

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

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

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