30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|||||||||||
1 | |||||||||||
Удалить одинаковые буквы из контейнера std::string25.02.2016, 00:57. Показов 1359. Ответов 34
Метки нет (Все метки)
Необходимо найти в первой строке так же во второй строке одинаковые буквы и удалить все кроме одной похожей. При это удаляется впереди стоящая запятая если она есть, или сзади стоящая. Пример:
-даны буквы A B C D -даны операции , v ^ Например: A^B,C,A,DvB и B,A,AvD После удаления всех кроме одной похожей буквы остается в первой строке A^B,C,DvB После удаления всех кроме одной похожей буквы остается во второй строке B,AvD Проблемным в задании является то что буквы известны только после ввода в строки(буквы и операции в строке). Добавлено через 3 часа 6 минут коменты Добавлено через 45 минут я не могу удалив похожие одной буквы в строке, удалять также следующие похожие буквы Добавлено через 21 минуту ну как то так но это не то
есть у кого идеи или что то непонятно по заданию Добавлено через 21 минуту через цикли тоже не получается
надо удалить надо надо удалить
0
|
25.02.2016, 00:57 | |
Ответы с готовыми решениями:
34
ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri Запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ Перевод строк std::string, std::wstring в Unicode (String) Упорядочить по алфавиту буквы каждого слова и удалить слова, содержащие одинаковые буквы |
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||||||
25.02.2016, 18:34 | 21 | |||||
Сообщение было отмечено MuslimPalit как решение
Решение
1
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 18:53 [ТС] | 22 |
avgoor, stringstream? Что это и что подключать
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 18:57 | 23 |
MuslimPalit, #include<sstream>. Стандартный поток.
1
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 19:06 [ТС] | 24 |
avgoor, мда намудрил так намудрил, я протестирую и попробую в свой код закинуть в функции, только если у меня строки даны уже - сложности не возникнут наверно.
Добавлено через 6 минут avgoor, спасибо все идеально работает, надо будет кругозор расширить, а то в один string да vector уперся
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 19:14 | 25 |
MuslimPalit, Только учти - решение не идеальное (на коленке за 3 минуты).
0
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 19:18 [ТС] | 26 |
avgoor, пока сойдет, и изучить что да как, можешь пробежаться по частям, алгоритм вроде бы понятен, но некоторые части не могу понят что из себя представляют
Добавлено через 1 минуту avgoor, просто в тумане из-за инициализации и функция getline не пойму для чего
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 19:26 | 27 |
Сообщение было отмечено MuslimPalit как решение
Решение
getline - прочитать строку (по умолчанию до '\n', но в третьем параметре мы указали, что до ',')
map используется так. если в нем значение false - символ переходит в результат и в map заносится true, если true - то пропускается. При инициализации - если символ входит в выражение то сразу заносим true. Если символ встречается в одиночном виде проверяем встречался ли он ранее и если нет то заносим false. Т.о. в результат попадет только первый одиночный, если он не встречается в выражениях.
1
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 20:00 [ТС] | 28 |
все шикарно получается
0
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 20:07 [ТС] | 29 |
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 20:12 | 30 |
MuslimPalit, Инициализация содержимого потока.
1
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 20:25 [ТС] | 31 |
avgoor, нужно порешать пару задач данного типа, а то не пойму как все происходит
Добавлено через 2 минуты avgoor, вот функция resize() вроде бы изменяет размер контейнера, а что она здесь выполняет
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 20:34 | 32 |
MuslimPalit, Убирает лишнюю запятую в конце.
1
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 20:40 [ТС] | 33 |
avgoor, почему именно std::stringstream
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
25.02.2016, 20:48 | 34 |
MuslimPalit, а что вы предлагаете вместо stringstream?
0
|
30 / 6 / 9
Регистрация: 23.03.2015
Сообщений: 508
|
|
25.02.2016, 23:27 [ТС] | 35 |
avgoor, просто я вижу его впервые, ну там вектор
Добавлено через 1 минуту avgoor, еще более интересное есть задание - типовое, если затруднит хотя бы дай подсказки средств, просто до завтра надо сделать всю прогу Добавлено через 2 часа 1 минуту Проверить имеются ли одинаковые несвязанные буквы в прямом(А - без отрицания) или инверсном(а - отрицание) виде в первой и во второй строке. Если имеются, принять решение "Строка доказана", иначе перенести одну букву с первой строки во вторую или со второй строки в первую. Данный шаг является продолжением предыдущего
0
|
25.02.2016, 23:27 | |
25.02.2016, 23:27 | |
Помогаю со студенческими работами здесь
35
Как удалить одинаковые буквы из строки? Удалить подряд идущие одинаковые буквы На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами Удалить из строки слова начинающиеся и заканчивающиеся на одинаковые буквы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |