Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 78
1

как вернуть информацию о том, сколько раз символы из набора встречались в строке?

09.12.2019, 20:46. Просмотров 1799. Ответов 9
Метки c++ (Все метки)


Функция принимает строку (как массив символов) и набор символов. Необходимо вернуть информацию о том, сколько раз символы из набора встречались в строке.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2019, 20:46
Ответы с готовыми решениями:

Строка: Определить, сколько раз в строке встречались двузначные числа
Вводится строка символов, заканчивающаяся точкой. Программа должна определить, сколько раз в строке...

Подсчитать, сколько раз в строке встречается символы x, y, z
В памяти дана строка символов находящаяся по адресу A1 и длиной N. Подсчитать сколько раз...

Определить, сколько раз встречаются символы в строке
Добрый день, должна быть программа которая выводит статистику допустим: hello world выводит: l -...

Определить, сколько раз в строке встречаются заданные символы
Дана строка символов. Определить, сколько раз в строке встречаются символы ’а’, ‘б’, ‘о’, ‘щ’,...

9
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 78
11.12.2019, 16:23  [ТС] 2
Здравствуйте ,попытался сделать но выдает ошибку. Не подскажите как исправить?
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
#include <iostream>
#include "stdio.h"
#include "conio.h"
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int result;
    char S;
    char C;
    cout << "Введите предложение => ";
    cin >> S;
    cout << "Введите набор символов => ";
    cin >> C;
    for (int i = 0; i < S; i++)
    {       
        for (int j = 0; j < C; j++)
        {
            if (i == j)
            result++;
        }
        //return result;
        }
    cout<<"Количество символов => " << result;
}
0
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 78
11.12.2019, 16:28  [ТС] 3
Здравствуйте ,попытался сделать код но выдает ошибку.Подскажите как исправить пожалуйста.
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
#include <iostream>
#include "stdio.h"
#include "conio.h"
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int result;
    char S;
    char C;
    cout << "Введите предложение => ";
    cin >> S;
    cout << "Введите набор символов => ";
    cin >> C;
    for (int i = 0; i < S; i++)
    {       
        for (int j = 0; j < C; j++)
        {
            if (i == j)
            result++;
        }
        //return result;
        }
    cout<<"Количество символов => " << result;
}
0
5857 / 3984 / 2304
Регистрация: 18.12.2017
Сообщений: 12,473
11.12.2019, 16:40 4
Кирилл Саратов, не дублируйте темы. ввод строки:
C++
1
2
3
string s;
cout << "String:\n";
getline(cin, s);
обращение к элементу строки: s[i]
1
бах-бах и в продакшен!
2561 / 1326 / 474
Регистрация: 23.09.2014
Сообщений: 4,111
Записей в блоге: 4
11.12.2019, 16:46 5
Кирилл Саратов,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{   setlocale(LC_ALL, "rus");
 
    char S[128]; cout << "Введите предложение    => "; cin.getline(S,128);
    char C[128]; cout << "Введите набор символов => "; cin.getline(C,128);
    
    int result = 0;
    for (int i = 0; i < strlen(S); i++)
    {       
        for (int j = 0; j < strlen(C); j++)
        {
            if (S[i] == C[j])
                result++;
        }
    }
    cout << "Количество символов => " << result;
}
1
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 78
11.12.2019, 16:58  [ТС] 6
Спасибо все работает,но если вас не затруднит можете рассказать в чем была проблема?
0
бах-бах и в продакшен!
2561 / 1326 / 474
Регистрация: 23.09.2014
Сообщений: 4,111
Записей в блоге: 4
11.12.2019, 17:00 7
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
в чем была проблема?
Цитата Сообщение от Кирилл Саратов Посмотреть сообщение
C++
10
11
char S;
char C;
Проблема в том что char может вместить в себя только один символ,
а вы пытались запихнуть туда целое предложение.

Совет: почитать чё-нить про массивы.
1
2 / 2 / 0
Регистрация: 15.11.2017
Сообщений: 78
11.12.2019, 17:04  [ТС] 8
спасибо за ответ!учту на будущее. Я пытался использовать string но выдавало ошибку на cin >>
1
3953 / 2228 / 928
Регистрация: 07.02.2019
Сообщений: 5,850
11.12.2019, 17:07 9
Лучший ответ Сообщение было отмечено Кирилл Саратов как решение

Решение

Кирилл Саратов,
C++
1
2
3
4
5
6
7
8
9
10
int foo(const char* str, const char* simbols)
{
    int count = 0;
    while (str = strpbrk(str, simbols))
    {
        ++count;
        ++str;
    }
    return count;
}
1
5857 / 3984 / 2304
Регистрация: 18.12.2017
Сообщений: 12,473
11.12.2019, 17:25 10
Кирилл Саратов, в условии различают понятия строка (массив символов) и набор символов, иначе бы сформулировали так: даны две строки. строка в виде массива символов это массив типа char, а набор я так понимаю это символы вводимые с клавиатуры без записи в массив.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2019, 17:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Подсчитать, сколько раз встречаются во введенной строке символы «а» и «м»
Написать программу на языке Ассемблера, которая позволяет ввести с клавиатуры строку символов,...

Подсчитать сколько раз в заданной строке встречаются символы ‘a’ и ‘1’
Помогите плиз((( 1.Дана символьная строка S. Скопировать посимвольно ее в другую символьную...

Определить, какие символы и сколько раз встречаются в строке
Дана строка. Определить, какие символы и сколько раз встречаются в данной строке. Помогите...

Определить какие символы и сколько раз встречаются в строке
Здравствуйте, товарищи программисты! Помогите, пожалуйста, вот задачка, которые нужно написать: ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.