Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 82
1

Оставить в строке только один экземпляр каждого встречающегося символа

05.11.2017, 10:58. Показов 1402. Ответов 1
Метки нет (Все метки)

Оставить в строке только один экземпляр каждого встречающегося символа.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2017, 10:58
Ответы с готовыми решениями:

Оставить в строке только один экземпляр каждого встречающегося символа
Не понимаю почему выдаёт ошибку. #include "pch.h" #include <iostream> #include <ctime>...

Оставить в строке только один экземпляр каждого встречающегося символа
С клавиатуры вводится строка. Оставить в строке только один экземпляр каждого встречающегося...

Оставить в строке только один экземпляр каждого встречающегося символа.
оставить в строке только один экземпляр каждого встреяающегося символа.

Оставить в строке только один экземпляр каждого встречающегося символа
Задачка такова: Вводиться с клавиатуры предложение. Оставить в строке только один экземпляр...

1
824 / 627 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
05.11.2017, 13:48 2
Лучший ответ Сообщение было отмечено Andrew981614 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <string>
 
std::string& unique_s(std::string& s){
    int c;
    unsigned int ds[256] = {0};
    
    std::string::iterator i = s.begin(), e = s.end();
    while(i != e){
        c = *i++;
        if(c < 0)
            c = -c;
        ++ds[c];
    }
 
    std::string::iterator j = s.begin();
    for(i = j; i != e; ++i){
        c = *i;
        if(c < 0)
            c = -c;
 
        if(ds[c] > 1)
            --ds[c];
        else
            *j++ = *i;
    }
 
    if(j != e)
        s.erase(j, s.end());
    return s;
}
 
int main(void){
    std::string s = "MMMWWWWQQ|AAABBBCCCDDDEDEEEFFF_ZZYYYYXX";
    std::cout << unique_s(s);
    std::cin.get();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2017, 13:48

Оставить в строке только один экземпляр каждого встречающегося символа
С клавиатуры вводится строка. Оставить в строке только один экземпляр каждого встречающегося...

Оставить в строке только один экземпляр каждого встречающегося символа
есть прога и есть задание: Оставить в строке только один экземпляр каждого встречающегося символа...

Оставить в строке только по одному экземпляру каждого символа
Задание: нужно оставить в строке только по одному экземпляру каждого символа (повторения учитывать...

Оставить в строке только первое вхождение каждого символа. Взаимный порядок оставленных символов сохранить
Решил данную задачу так: //Оставить в строке только первое вхождение каждого символа. Взаимный...

Определить общее число вхождений двух повторяющихся символов для каждого символа, встречающегося в исходной строке
Дана строка s, содержащая менее чем 256 символов. Определить общее число вхождений двух...

Определить общее число вхождений двух повторяющихся символов для каждого символа, встречающегося в исходной строке
Дана строка s, содержащая менее чем 256 символов. Определить общее число вхождений двух...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.