24 / 8 / 17
Регистрация: 22.12.2015
Сообщений: 2,099
1

Удаление повторяющихся символов в предложении

24.01.2018, 22:48. Показов 1195. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Фраза может быть любая. Консолька на vs подойдет.Например фраза на русском"Я отлично копирую текст".
После удаления повторов получиться итоговая фраза примерно такая
"Я отлично кпрую екс".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2018, 22:48
Ответы с готовыми решениями:

Удаление повторяющихся символов
Есть строка символов, я её обрабатываю, удаляю слово с повторяющимися символами,дело в том что...

Удаление повторяющихся символов
из последовательности символов удалить самую большую из одинаковых элементов допустим есть...

Удаление повторяющихся символов
Задача банальна. Удалить повторяющиеся символы в строке. В интернете шарил, предложенные варианты...

Удаление повторяющихся символов из строки
Необходимо написать функцию delete_repeats, которая удаляет все повторяюшиеся символы из строки. ...

7
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
24.01.2018, 23:01 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <set>
int main()
{
    setlocale(LC_ALL, "rus");
    std::string s("Я отлично копирую текст");
    std::size_t i = 0;
    std::set<char> chars;
    while (i < s.length()) {
        if (s[i] != ' ' && chars.count(s[i]) == 0) {
            chars.insert(s[i]);
            i++;
        }
        else if (s[i] != ' ' && chars.count(s[i]) > 0)
            s.erase(i, 1);
        else i++;
    }
    std::cout << s << "\n";
    system("pause");
}
0
24 / 8 / 17
Регистрация: 22.12.2015
Сообщений: 2,099
24.01.2018, 23:34  [ТС] 3
Цитата Сообщение от Hitoku Посмотреть сообщение
std::string s("Я отлично копирую текст");
фразу запрашивать в пользователя,не вшивать в код.
0
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
25.01.2018, 00:02 4
scherbakovss201, сэр, есть сэр? Уж что что, а getline можно и самостоятельно дописать
0
24 / 8 / 17
Регистрация: 22.12.2015
Сообщений: 2,099
25.01.2018, 00:25  [ТС] 5
Цитата Сообщение от Hitoku Посмотреть сообщение
Уж что что, а getline можно и самостоятельно дописать
чего то казябрики выводяться,если же фразу в код вшить тогда выводиться нормально без казябриков.
Удаление повторяющихся символов в предложении

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
// ConsoleApplication3.cpp: определяет точку входа для консольного приложения.
//Например фраза на русском"Я отлично копирую текст".
//После удаления повторов получиться итоговая фраза примерно такая
//"Я отлично кпрую екс".
 
#include "stdafx.h"
 
#include <iostream>
#include <string>
#include <set>
int main()
{
    setlocale(LC_ALL, "rus");
    std::string s;
    std::cout << "Ведите фразу ";
    std::getline(std::cin, s);
    //std::string s("Я отлично копирую текст");
    std::size_t i = 0;
    std::set<char> chars;
    while (i < s.length()) {
        if (s[i] != ' ' && chars.count(s[i]) == 0) {
            chars.insert(s[i]);
            i++;
        }
        else if (s[i] != ' ' && chars.count(s[i]) > 0)
            s.erase(i, 1);
        else i++;
    }
    std::cout << s << "\n";
    system("pause");
}
0
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
25.01.2018, 00:50 6
Лучший ответ Сообщение было отмечено scherbakovss201 как решение

Решение

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
#include <iostream>
#include <string>
#include <set>
#include <windows.h>
 
char *RUS(const char *str)
{
    static char buf[BUFSIZ];
    OemToCharA(str, buf);
    return buf;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    std::string s;
    std::cout << "Введите фразу: ";
    std::getline(std::cin, s);
    std::size_t i = 0;
    std::set<char> chars;
    while (i < s.length()) {
        if (s[i] != ' ' && chars.count(s[i]) == 0) {
            chars.insert(s[i]);
            i++;
        }
        else if (s[i] != ' ' && chars.count(s[i]) > 0)
            s.erase(i, 1);
        else i++;
    }
    s = std::string(RUS(s.c_str()));
    std::cout << s << "\n";
    system("pause");
}
метод отсюда подтянул: Сбивается кодировка
0
24 / 8 / 17
Регистрация: 22.12.2015
Сообщений: 2,099
25.01.2018, 01:32  [ТС] 7
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
//Например фраза на русском"Я отлично копирую текст".
//После удаления повторов получиться итоговая фраза примерно такая
//"Я отлично кпрую екс".
Удаление повторяющихся символов в предложении

Работает правильно.
0
Hitoku
25.01.2018, 02:04     Удаление повторяющихся символов в предложении
  #8

Не по теме:

scherbakovss201, я знаю :D

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2018, 02:04

Удаление повторяющихся символов строки
Здравствуйте,встретился с такой задачей: Создать динамический массив(размер можно вести с...

Удаление из строки повторяющихся символов
Например Ввод: ABBGBAZ Вывод: ABGZ

Удаление повторяющихся символов массива
Надо сделать так что бы повторяющиеся символы массива удалялись, а сам массив сдвигался.

Поиск повторяющихся символов в тексте и удаление таких строк
нужен готовый .exe. Есть .txt файлы, в нем нужно по удалять строчки - где какой либо символ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru