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

Подсчитать количество вхождений введенного с клавиатуры слова в строку - C++

Восстановить пароль Регистрация
 
Tarzanchik
0 / 0 / 0
Регистрация: 09.10.2010
Сообщений: 9
26.10.2010, 22:27     Подсчитать количество вхождений введенного с клавиатуры слова в строку #1
собственно, сабж...помогите с задачкой, пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2010, 22:27     Подсчитать количество вхождений введенного с клавиатуры слова в строку
Посмотрите здесь:

C++ Распечатать количество вхождений заданного слова в каждую строку и заменить его на другое заданное слово
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Как подсчитать количество вхождений подстроки в строку C++
Подсчитать количество вхождений каждого символа в строку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.10.2010, 22:32     Подсчитать количество вхождений введенного с клавиатуры слова в строку #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
27
28
29
#include <string>
#include <vector>
#include <iostream>
#include <sstream>
 
int main()
{
    std::string Str="hello, world, hello, man, hello, girl";
    std::string Delims=",.:?! ";
    for(std::string::iterator It=Str.begin(); It!=Str.end(); ++It)
    {
         if(Delims.find(*It)!=std::string::npos)
             *It=' ';
    }
    std::istringstream ist(Str);
    std::string String;
    std::vector<std::string> Vec;
    while(ist>>String)
        Vec.push_back(String);
    std::string FindStr="hello";
    int cnt=0;
    for(size_t i=0; i<Vec.size(); ++i)
    {
         if(Vec[i]==FindStr) 
              cnt++;
    }
    std::cout<<"Word "<< FindStr <<" is "<< cnt <<" times in string\n";
    return 0;
}
Tarzanchik
0 / 0 / 0
Регистрация: 09.10.2010
Сообщений: 9
26.10.2010, 22:49  [ТС]     Подсчитать количество вхождений введенного с клавиатуры слова в строку #3
Lavroff, спасибо, а можно на языке Си?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.10.2010, 22:53     Подсчитать количество вхождений введенного с клавиатуры слова в строку #4
Tarzanchik, Такое же - нет. Впринципе возможно.
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
#include <stdio.h>
#include <string.h>
 
int main()
{
    int cnt=0;
    char String[]="hello";
    char Str[]="hello, man, hello, girl, hello, world";
    char Delims[]=",.:?! ";
    char* ptr=strtok(Str, Delims);
    if(ptr)
    {
        if(strcmp(ptr, String)==0)
             cnt++;
    }
    while(ptr)
    {
        ptr=strtok(0, Delims);
        if(ptr)
        {
            if(strcmp(ptr, String)==0)
                 cnt++;
        }
    }
    printf("In string word %s was finded %d times\n", String, cnt);
    return 0;
}
Yandex
Объявления
26.10.2010, 22:53     Подсчитать количество вхождений введенного с клавиатуры слова в строку
Ответ Создать тему
Опции темы

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