Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
#1

Подсчет указанных символов строки - C++

02.04.2014, 10:21. Просмотров 186. Ответов 7
Метки нет (Все метки)

Пользователь вводит отдельно строку и символ, необходимо показать на экран номера по порядку всех совпадений (нумерация с единицы).

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
#include<iostream>
using namespace std;
 
void main()
{
    const int size=100;
    char str[size];
    char Symbol;
 
    cout<<"\nEnter your string: ";
    cin.getline(str,size);
    cout<<"\nEnter symbol: ";
    cin>>Symbol;
    
    cout<<"\nNumbers of matches: ";
    for(int i=0;i<strlen(str);i++)
    {
        if(str[i]==Symbol)
        {
            cout<<i+1<<" ";
        }
    }
    cout<<"\n"<<endl;
}
Если символ в строке есть, то программа работает нормально. Вопрос в том, как реализовать вариант, если символ в строке не найден?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
866 / 446 / 132
Регистрация: 16.02.2010
Сообщений: 2,667
Записей в блоге: 27
02.04.2014, 10:23     Подсчет указанных символов строки #2
Там, где for и if дописать - else cout << ...
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,113
02.04.2014, 10:25     Подсчет указанных символов строки #3
Если символ в строке есть, то программа работает нормально. Вопрос в том, как реализовать вариант, если символ в строке не найден?
В каком плане ? Если символ не встречается он и не выводится или вам нужно об этом уведомить ?
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 10:26     Подсчет указанных символов строки #4
Тамика, тогда при любом несовпадении символов будет выводиться сообщение, как вариант, если был найден символ сетить какую то переменную (бул будет достаточно)
по выходу их цикл ее проверять и если ее значение не изменилось, это значит что совпадений не было, и Выводить сообщение
Тамика
Котовчанин
 Аватар для Тамика
866 / 446 / 132
Регистрация: 16.02.2010
Сообщений: 2,667
Записей в блоге: 27
02.04.2014, 10:27     Подсчет указанных символов строки #5
Ну можно ещё добавить флаг, дабы все были довольны.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,113
02.04.2014, 10:28     Подсчет указанных символов строки #6
C++
1
2
3
4
5
6
7
8
9
10
11
int count = 0;
for(int i=0;i<strlen(str);i++)
    {
 if(str[i]==Symbol)
        {
            cout<<i+1<<" ";
          ++count;
        }
}
if(!count)
cout << Symbol << " not found";
Тамика
Котовчанин
 Аватар для Тамика
866 / 446 / 132
Регистрация: 16.02.2010
Сообщений: 2,667
Записей в блоге: 27
02.04.2014, 10:28     Подсчет указанных символов строки #7
А, да, Вы уже сказали.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 10:33     Подсчет указанных символов строки
Еще ссылки по теме:

C++ Подсчет символов в файле
C++ Не работает подсчет символов
C++ Подсчет количества знаков табуляции, пробелов и символов новой строки
C++ Подсчет символов в файле
Подсчет символов в строке C++

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

Или воспользуйтесь поиском по форуму:
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
02.04.2014, 10:33  [ТС]     Подсчет указанных символов строки #8
Всем спасибо, разобрался!
Yandex
Объявления
02.04.2014, 10:33     Подсчет указанных символов строки
Ответ Создать тему
Опции темы

Текущее время: 08:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru