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

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

Восстановить пароль Регистрация
 
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
02.04.2014, 10:21     Подсчет указанных символов строки #1
Пользователь вводит отдельно строку и символ, необходимо показать на экран номера по порядку всех совпадений (нумерация с единицы).

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;
}
Если символ в строке есть, то программа работает нормально. Вопрос в том, как реализовать вариант, если символ в строке не найден?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 10:21     Подсчет указанных символов строки
Посмотрите здесь:

Подсчет символов в числе. C++
C++ подсчет символов
C++ Подсчет символов и замена
подсчет символов в тексте C++
C++ Подсчет количества символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
02.04.2014, 10:23     Подсчет указанных символов строки #2
Там, где for и if дописать - else cout << ...
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
02.04.2014, 10:25     Подсчет указанных символов строки #3
Если символ в строке есть, то программа работает нормально. Вопрос в том, как реализовать вариант, если символ в строке не найден?
В каком плане ? Если символ не встречается он и не выводится или вам нужно об этом уведомить ?
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 10:26     Подсчет указанных символов строки #4
Тамика, тогда при любом несовпадении символов будет выводиться сообщение, как вариант, если был найден символ сетить какую то переменную (бул будет достаточно)
по выходу их цикл ее проверять и если ее значение не изменилось, это значит что совпадений не было, и Выводить сообщение
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
02.04.2014, 10:27     Подсчет указанных символов строки #5
Ну можно ещё добавить флаг, дабы все были довольны.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
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";
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
02.04.2014, 10:28     Подсчет указанных символов строки #7
А, да, Вы уже сказали.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 10:33     Подсчет указанных символов строки
Еще ссылки по теме:

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) C++
C++ Подсчет символов в файле
C++ Получить из строк новую строку, содержащюю первые N1 символов строки S1 и последнии N2 символов строки S2

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

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

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