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

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

Войти
Регистрация
Восстановить пароль
 
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
#1

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

14.06.2013, 11:45. Просмотров 863. Ответов 5
Метки нет (Все метки)

заданная строка. определить количество вхождения каждого слова в заданую строку.

помогите,а то не могу понять почему не правельно считает...


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++ Распечатать количество вхождений заданного слова в каждую строку и заменить его на другое заданное слово
C++ Подсчитать количество вхождений введенного с клавиатуры слова в строку
Определить количество вхождений в строку каждого из знаков, встречающихся в ней 1 или более раз C++
C++ Определить количество вхождений подстроки в заданную строку
Строки. Определить количество вхождений заданного слова в текст C++
Подсчитать количество вхождений каждого символа в строку C++
Определить количество вхождений в массив значений каждого из его элементов C++
Определить количество вхождений каждого символа в строке C++
Определить количество вхождений каждого слова 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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6212 / 3457 / 423
Регистрация: 29.11.2010
Сообщений: 9,168
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     Определить количество вхождений каждого слова в заданную строку
Ответ Создать тему
Опции темы

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