Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/48: Рейтинг темы: голосов - 48, средняя оценка - 4.65
8 / 7 / 1
Регистрация: 08.04.2021
Сообщений: 151

Удалить повторы

04.08.2021, 15:57. Показов 10799. Ответов 9
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Удалить повторы
Дана строка S. Необходимо удалить из неё все повторы символов: символ с индексом i необходимо удалить, если существует индекс j такой, что j<i и Si=Sj.

Входные данные

На вход программы подаётся строка без пробелов, содержащая символы таблицы ASCII.

Выходные данные

Программа должна вывести исходную строку, из которой удалены все повторяющиеся символы.

Примеры
Ввод
Вывод
abc13a1b2z3c
abc132z
QWasd123
QWasd123

Мой код выдает неверный ответ. Задача в разделе множеств. Пожалуйста помогите, очень долго бьюсь

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <set>
 
using namespace std;
 
int main()
{
    set<char> s1;
    char d;
    int cnt;
    while (cin >> d)
    {
        s1.insert(d);
    }
    for (auto elem : s1)
        cout << elem;
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.08.2021, 15:57
Ответы с готовыми решениями:

Удалить повторы слов
В предложение возможны повторы слов. Удалить эти повторы.

Удалить повторы в списке l3
Добрый вечер! Помогите пожалуйста с программой, в общем необходимо удалить повторяющиеся элементы в односвязном списке, я написала такой...

С++ Повторы слов!!!
Помогите написать программу и примерно объяснить алгоритм. А то проболел все лекции по строкам, теперь не могу разобраться, хотя программа...

9
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,058
Записей в блоге: 3
04.08.2021, 16:26
Лучший ответ Сообщение было отмечено long399 как решение

Решение

Цитата Сообщение от alimaaa Посмотреть сообщение
очень долго бьюсь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
std::string foo(const std::string s)
{   std::string r;
    char m[256] = {0};
    for(const auto c : s)
    {   const auto u = (unsigned char)c;
        if( m[u] == 0)
        {   m[u]  = 1;
            r.push_back(c);
        }
    }
    return r;
}
 
///----------------------------------------------------------------------------|
/// Тест.
///----------------------------------------------------------------------------:
int main()
{   std::cout << foo("abc13a1b2z3c") << '\n';
    std::cout << foo("QWasd123"    ) << '\n';
}
2
 Аватар для irthgr
24 / 21 / 2
Регистрация: 15.05.2021
Сообщений: 57
18.08.2021, 12:51
XLAT, Программа выдаёт неверный ответ
0
Заблокирован
18.08.2021, 13:03
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string del(string s)
{
    for(int i=0; i<(int)s.size(); i++)
        for(int k=s.find(s[i],i+1); k>=0; k=s.find(s[i],k))
            s.erase(s.begin()+k);
    return s;
}
int main()
{
    string s;
    cin>>s;
    cout<<s<<endl;
    cout<<del(s)<<endl;
    system("pause");
    return 0;
}
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
19.08.2021, 11:41
Цитата Сообщение от irthgr Посмотреть сообщение
XLAT, Программа выдаёт неверный ответ
Надеюсь, ты её не прямо в таком виде отправил, а дописал ввод вывод как положено?
1
 Аватар для irthgr
24 / 21 / 2
Регистрация: 15.05.2021
Сообщений: 57
19.08.2021, 12:34
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Надеюсь, ты её не прямо в таком виде отправил, а дописал ввод вывод как положено?
Если честно, то... да

Добавлено через 8 минут
НО я доработал, на этот раз прошёл!
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,058
Записей в блоге: 3
19.08.2021, 13:08
Цитата Сообщение от irthgr Посмотреть сообщение
НО я доработал, на этот раз прошёл!
так в чём я виноват?
0
4 / 4 / 0
Регистрация: 11.08.2020
Сообщений: 14
04.08.2022, 11:38
вот у меня такое решение, тоже работает (на "Сириусе" по крайней мере)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <set>
 
using namespace std;
 
int main() {
    string input, output;
    set<char> se = {};
    cin >> input;
    int n = input.size();
    for (int i = 0; i < n; i++) {
        if (se.find(input[i]) == se.end()) {
            output += input[i];
            se.insert(input[i]);
        }
    }
    cout << output;
    
}
1
0 / 0 / 0
Регистрация: 25.05.2023
Сообщений: 1
25.05.2023, 23:42
привет ,сможешь повторить этот код только на питоне?
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,058
Записей в блоге: 3
26.05.2023, 17:05
Цитата Сообщение от Kurlya Посмотреть сообщение
сможешь повторить этот код только на питоне?
https://rextester.com/LFNVA2377
Python
1
2
3
4
5
6
7
8
s = "qwertyqwerty112233qwerty"
r = ""
 
for c in s:
    if r.find(c) == -1:
        r += c
 
print r
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2023, 17:05
Помогаю со студенческими работами здесь

C++ Повторы в цикле
Надо написать программу, которая находит однофамильцев и выводит группами. Поиск однофамильцев задаю в цикле, как сделать, чтобы повторно...

посчитать повторы слов
помогите, пожалуйста, написать программу: Дан текст, содержайщий n строк. Для каждого из слов указать, сколько раз оно встречается в тексте.

Функции, повторы,корректировка кода
как убрать при вводе &quot;нет&quot;, вывод строки введите стороны квадрата.. #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include...

Подсчитать количество пар массива, не учитывая повторы
доброго времени суток! столкнулся с проблемой подсчета числа пар. как не учитывать повторяющиеся значения сумм массива? int...

Заменить все повторы первой буквы слова на точку
Помогите решить задачку: С клавиатуры вводится строка состоящая из слов набранных заглавными буквами и разделенных пробелом. Заменить...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru