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

Как с помощью цикла проверить все вхождения символов?

26.11.2013, 21:16. Показов 1631. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как с помощью цикла проверить все вхождения символов и если какой-то из символов входит более одного раза (изначально мы не знаем какой символ повторяется, поэтому нужно проверить все символы на повторяемость) запомнить эти позиции, а потом части строки между вхождениями этого символа скопировать в новые строки?

Вот начало, дальше не знаю, как продолжить
C++
1
2
3
4
char str [50] = "12cb6yjukca8s7rcmnxc";
int nomer1, nomer2;
for (int i = 0; i < strlen (str); i++)
    if ( str[i] == str[i+1])
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2013, 21:16
Ответы с готовыми решениями:

Как проверить в строке все вхождения символа?
Как проверить в строке все вхождения символа и запомнить кусок строки между двумя его вхождениями?

Написать программу, которая удаляет из данного набора символов все вхождения символов S и s
Написать программу, которая получает от пользователя набор символов, исключая пропуск, и удаляет из этого набора все вхождения символов S и...

Проверить, являются ли числа взаимно простыми, с помощью цикла for и оператора ветвления if
вот кусок программы. тут цикл. при выполненном условии выводится текст, а если разместить else в этом же цикле, то сообщение о...

11
Заблокирован
26.11.2013, 21:18
Цитата Сообщение от kobrjatina Посмотреть сообщение
Как
Легко!
используй std::map
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 21:23  [ТС]
Цитата Сообщение от newbie666 Посмотреть сообщение
используй std::map
мне нужно обычным циклом без этой библиотеки
0
Заблокирован
26.11.2013, 21:28
Цитата Сообщение от kobrjatina Посмотреть сообщение
мне нужно обычным циклом без этой библиотеки
а это не библиотека, это map а цикли тебе конечно же тоже понадобятся
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 21:31  [ТС]
Цитата Сообщение от newbie666 Посмотреть сообщение
а это не библиотека, это map а цикли тебе конечно же тоже понадобятся
а без map никак нельзя? мы этого еще не учили
0
Заблокирован
26.11.2013, 21:35
Цитата Сообщение от kobrjatina Посмотреть сообщение
а без map никак нельзя? мы этого еще не учили
конечно можно, но меня воротит от древнего сишного кода, так что жди, пока такие же новички тебе напишут программу
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 21:38  [ТС]
Цитата Сообщение от newbie666 Посмотреть сообщение
конечно можно, но меня воротит от древнего сишного кода, так что жди, пока такие же новички тебе напишут программу
а с помощью map можешь написать?
0
Заблокирован
26.11.2013, 21:41
Тогда точнее сформулируй задачу.
Цитата Сообщение от kobrjatina Посмотреть сообщение
если какой-то из символов входит более одного раза
А если несколько символов входят более однго раза?

Цитата Сообщение от kobrjatina Посмотреть сообщение
а потом части строки между вхождениями этого символа скопировать в новые строки?
Входит символ 3 раза в строку, сколько будет новых строк - кусочков, которые тебе надо скопировать?
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 21:46  [ТС]
Цитата Сообщение от newbie666 Посмотреть сообщение
Тогда точнее сформулируй задачу.

А если несколько символов входят более однго раза?

если несколько, то взять любой из повторяющихся символов и запомнить его позиции

Входит символ 3 раза в строку, сколько будет новых строк - кусочков, которые тебе надо скопировать?
если входит три раза, то будет 2 новые строки, между 1 и 2 вхождением и между 2 и 3
0
Заблокирован
26.11.2013, 21:48
Цитата Сообщение от newbie666 Посмотреть сообщение
А если несколько символов входят более однго раза?
а это?
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 21:50  [ТС]
Цитата Сообщение от newbie666 Посмотреть сообщение
а это?
если несколько, то взять любой из повторяющихся символов и запомнить его позиции
0
Заблокирован
26.11.2013, 22:32
ладно ща никадю

Добавлено через 31 минуту
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
#include <tchar.h>
#include <iostream>
#include <sstream>
#include <string>
#include <map>
#include <vector>
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str [50] = "12cb6yjukca8s7rcmnxc";
 
    std::string source = str;
    std::map<char, std::vector<int>> scan;
    for(int i=0; i<source.size(); i++)              
            scan[source[i]].push_back(i);   
 
    std::vector<std::pair<char, std::string>> result;
    for(auto it = scan.begin(); it != scan.end(); it++)     
        if(it->second.size() > 1)       
            for(int i = 0; i < it->second.size() - 1; i++)              
                result.push_back(std::make_pair(it->first, source.substr(it->second[i]+1, it->second[i+1]-it->second[i]-1)));       
 
    for(auto it = result.begin(); it != result.end(); it++)
        std::cout << "Char '" << it->first << "' substring result: " << it->second << std::endl;
    
    system("pause");
        
    return 0;
}
Плюс мне ставится под ником
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2013, 22:32
Помогаю со студенческими работами здесь

Заменить все вхождения символов s на S
Написать программу, которая получает от пользователя набор символов, исключая пробел, и заменяет все вхождения символов s на S. ...

Удалить все вхождения символов из строки
как удалить вхождение всех точек в строку, стандартными средствами, без цикла написанного вручную. Я сделал так но это не правильно find...

Строка символов. Все вхождения ‘abc’ заменить на ‘def’
Дана строка символов. Необходимо все вхождения ‘abc’ заменить на ‘def’

АТД список. Выделить скобками все двойные вхождения символов
Здравствуйте. Суть задачи такова. Нужно выделить круглыми скобками все двойные вхождения заданного символа. Например

Заменить в последовательности символов после первого вхождения знака ‘+’ все цифры на символ –
Заменить в последовательности символов после первого вхождения знака ‘+’ все цифры на символ – .


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru