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

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

26.11.2013, 00:25. Показов 2315. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как проверить в строке все вхождения символа и запомнить кусок строки между двумя его вхождениями?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2013, 00:25
Ответы с готовыми решениями:

Строка: Удалить все символы в строке, которые стоят после первого вхождения символа ‘*’, но ко второму его вхождения
удалить все символы в строке, которые стоят после первого вхождения символа ‘*’, но ко второму его вхождения (если он встречается только...

Заменить все первые левые вхождения символа “a” на 00, а все правые вхождения символа “a” на 11
Заменить все первые левые вхождения символа “a” на 00, а все правые вхождения символа “a” на 11, остальные без изменений

Заменить в строке все множественные вхождения заданного символа одним
Функция заменяет в строке все множественные вхождения заданного символа одним для использование нелбходимо использовать Указатели....

7
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
26.11.2013, 00:32
Цитата Сообщение от kobrjatina Посмотреть сообщение
Как проверить в строке все вхождения символа и запомнить кусок строки между двумя его вхождениями?
пересчитать вхождения и записать на листочек, после выбрать строку между двумя вхождениями и методом многократного повторения (можно вслух а можно и про себя ) запомнить кусок строки.)
0
 Аватар для zvoronz
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
26.11.2013, 00:34
Между двумя какими уточните. Если между крайними то вот так
C++
1
str2 = str.substr(f = str.find_first_of('f'), str.find_last_of('f') - f);
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 00:35  [ТС]
по-моему я помощи прошу, а не насмешек

Добавлено через 1 минуту
Цитата Сообщение от zvoronz Посмотреть сообщение
Между двумя какими уточните. Если между крайними то вот так
C++
1
str2 = str.substr(f = str.find_first_of('f'), str.find_last_of('f') - f);
а как это сделать на классическом Си, что бы попроще?
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
26.11.2013, 00:45
Цитата Сообщение от kobrjatina Посмотреть сообщение
по-моему я помощи прошу, а не насмешек
ну каков вопрос таков ответ
Цитата Сообщение от kobrjatina Посмотреть сообщение
а как это сделать на классическом Си, что бы попроще?
подсчет количества вхождения символа :
C++
1
2
3
4
5
6
7
8
9
char str[] = "qergergregrregergreg";
    char ch = 'e';
    int l = strlen(str);
    int count = 0;
    for(int i = 0;i < l;i++)
    {
        if(str[i] == ch)
            count++;
    }
1
 Аватар для zvoronz
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
26.11.2013, 00:47
На классическом как раз не проще будет.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int ffi = -1, fli = -1;
 
for(int i = 0; i < strlen(buf); ++i)
    if(buf[i] == 'f')
    {
        ffi = i;
        break;
    }
for(int i = strlen(buf)-1; i >= 0; --i)
    if(buf[i] == 'f')
    {
        fli = i;
        break;
    }
int p = 0;
for(int i = ffi+1; i < fli-1; ++i)
    buf2[p++] = buf[i];
buf2[p] = '0';
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
26.11.2013, 00:53  [ТС]
Цитата Сообщение от zvoronz Посмотреть сообщение
На классическом как раз не проще будет.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int ffi = -1, fli = -1;
 
for(int i = 0; i < strlen(buf); ++i)
    if(buf[i] == 'f')
    {
        ffi = i;
        break;
    }
for(int i = strlen(buf)-1; i >= 0; --i)
    if(buf[i] == 'f')
    {
        fli = i;
        break;
    }
int p = 0;
for(int i = ffi+1; i < fli-1; ++i)
    buf2[p++] = buf[i];
buf2[p] = '0';
а не получится как-то с использованием strchr и strrchr? вот есть кусок программы, который запоминает часть строки от первого вхождения символа "с" и до конца строки. Что дописать, что бы в конце выводило на экран часть строки от первого вхождения "с" до следующего "с"?
C++
1
2
3
4
char str [50];
    strcpy (str, "12cb3a4c5");
    char* pStr;
    pStr = strchr (str, 'c');
0
 Аватар для zvoronz
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
26.11.2013, 01:05
C
1
2
3
4
char str [50], str2[50]="";
strcpy (str, "12cb3a4c5");
char* pStr;
memcpy(str2, pStr = strchr (str, 'c') + 1, strrchr(str, 'c') - pStr);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2013, 01:05
Помогаю со студенческими работами здесь

Строка: заменить в строке все вхождения символа X на 0
Собственно есть к примеру такой код xx324x23425xxxx Мне нужно заменить x на 0, это я сделал, подскажите вот что, как запомнить какие...

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

Разработать программу, которая удаляет в строке все вхождения заданного символа
Разработать программу, которая удаляет в строке все вхождения заданного символа.

В случайным образом составленной строке типа StringBuilder заменить все вхождения символа «;» на «_»
Помогите пожалуйста Решить для типа StringBuilder, не используя методов класса Составить строку длины l, заполненную случайными...

Подчеркнуть в строке все вхождения заданного символа, если такие там есть
Дана строка и некий символ. Подчеркнуть в строке все вхождения заданного символа, если такие там есть. с++


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru