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

Определить количество вхождений каждого слова в заданную строку - C++

Восстановить пароль Регистрация
 
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
14.06.2013, 11:45     Определить количество вхождений каждого слова в заданную строку #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream.h>
#include <windows.h>
#include <fstream.h>
#include <cstring.h>
#include <conio.h>
using namespace std;
 
int main()
{
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        const int S = 256; 
        char a[S] = "";
        char b[S] = "";
        char *p,*sumb=" .,_-:;?!";
        int k = 0,cnt = 0;
        cout << "Vvedit stroku 1:"<< endl;
        cin.getline(a,S);
        cout << "Stroca: [" << a << "] \n";
        int const la = strlen(a);
        for(int i=1; (p=strtok(i?a:NULL,sumb))!=NULL;i?i=0:i)
{       int const lb = strlen(p);
        cout << "Stroca: [" << p << "] \n";
        for(int i =0 ; i < la; i++){
                char tmp[S] = "";
                k=0;
                if(a[i] == b[0]){
                    int j = i;
                    while(a[j] == b[k]){
                        tmp[k] = a[j];
                        j++; k++;
                    }
                    if(!(strcmp(b,tmp)))cnt++;
                   }
 
        }cout << "Kolichistva vhodczen: " << cnt << endl;
                   cnt=0; }
 
        getch();
        return 0;
}
.

Добавлено через 1 час 57 минут
помгите пожалуйста мозг взрываеться
здать всё до понедельника надо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 11:45     Определить количество вхождений каждого слова в заданную строку
Посмотрите здесь:

C++ Подсчитать количество вхождений введенного с клавиатуры слова в строку
Определить количество вхождений в строку каждого из знаков, встречающихся в ней 1 или более раз C++
C++ Определить количество вхождений подстроки в заданную строку
Строки. Определить количество вхождений заданного слова в текст C++
Подсчитать количество вхождений каждого символа в строку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
15.06.2013, 14:45  [ТС]     Определить количество вхождений каждого слова в заданную строку #2
Поиск в строке первого вхождения любого символа из заданного набора


C++
1
2
3
#include <string.h>
 
size_t strspn (const char *sl, const char *s2);
Применение функции strspn демонстрируется следующей программой STRSPN.С:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h> 
#include <string.h>
 
void main(void)
{
printf("Поиск Abc в строке AbcDef дает %d\n",
    strspn("AbcDef", "Abe"));
printf("Поиск cbA в строке AbcDef дает %d\n", 
    strspn("AbcDef", "cbA"));
printf("Поиск Def в строке AbcAbc дает %d\n ", 
    strspn("AbcAbc", "Def"));
}


это я делала по этому примеру....но мне надо сколько раз входит это слово в строку...а мне количество не правельно выводит...((((


и вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
size_t strspn (const char *sl, const char *s2)
{
    int i, j;
 
    for (i = 0; *sl; i++, sl++)
    {
for (j = 0; s2[j]; j++)
if (*sl == s2[j] ) 
  break;
 
if (s2[j] == NULL)
  break;
    }
  return(i);
}
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
17.06.2013, 18:26  [ТС]     Определить количество вхождений каждого слова в заданную строку #3
пожалуйста помогите розобраться...мне дали шанс здать всё попоже...пожалуйста...
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
19.06.2013, 18:00  [ТС]     Определить количество вхождений каждого слова в заданную строку #4
плиз прошу я не могу...ну не получаеться но время дали ещё

пожалуйста пмгите мне с этой практикой
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
19.06.2013, 18:09     Определить количество вхождений каждого слова в заданную строку #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <unordered_map>
#include <string>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::istringstream ist(str);
    std::unordered_map<std::string, int> um;
    for (std::string word; ist >> word; ++um[word]);
    for (auto &w : um)
        std::cout << w.first << " --> " << w.second << std::endl;
}
KatyaFunny1995
0 / 0 / 0
Регистрация: 24.11.2015
Сообщений: 10
05.12.2015, 20:42     Определить количество вхождений каждого слова в заданную строку #6
MrGluck, подскажите пожалуйста, как сделать такое без таких сложных и непонятных преобразований?
Yandex
Объявления
05.12.2015, 20:42     Определить количество вхождений каждого слова в заданную строку
Ответ Создать тему
Опции темы

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