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

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

Войти
Регистрация
Восстановить пароль
 
Akydzava
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 9
#1

как опредилить вхождения каждого слова в строке? - C++

06.06.2010, 16:36. Просмотров 565. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста,мой мозг кипит))Как опредилить вхождения каждого слова в строке.Пример:
Папа мама ,папа,мама
Папа -2 раза.
Мама - 2 раза.
??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2010, 16:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как опредилить вхождения каждого слова в строке? (C++):

Строка,подщёт вхождения каждого слова - C++
Строки,подщёт вхождения каждого слова и вывод слова и сколько рас оно там встречялось, помогите пожалуста с этим заданием,ато понятия не...

Напечатать все слова строки, предварительно удалив из каждого слова все предыдущие вхождения последней буквы - C++
дана последовательность слов разделенных пробелами .Напечатать все слова предварительно удалив из каждого слова все предыдущие вхождения...

Удалить повторные вхождения каждого слова из строки - C++
Задана строка, состоящая из слов, разделенных одним или несколькими пробелами. Удалить повторные вхождения каждого слова.

После каждого вхождения символа «$» в строке вставлять подстроку «End» - C++
После каждого вхождения символа «$» в строке вставлять подстроку «End» Подсчитать число вставок.

Дана строка и подстрока; вставить подстроку после каждого вхождения 'AB' в строке - C++
товарищи, помогите кто чем может.. голова кипит.. либо я что то не так делаю либо да.. вобщем написал фиг пойми чего и хочу что бы оно...

Написать функцию, меняющую первую букву каждого слова в строке на номер слова. - C++
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. Продемонстрировать ее использование в программе.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.06.2010, 03:24 #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
30
31
32
33
34
#include <stdio.h>
#include <stdlib.h>
 
int CountSubLine(size_t *p, const char *l, const char *sub);
 
/* считает количество вхождений слова в строке */
int main(void) /* ANSI C89 */
{
    char *s = "abcd one defg two hijk one";
    size_t n;
    
    printf("Line: %s" "\n", s);
    
    CountSubLine(&n, s, "one");
    printf("%s = %d" "\n", "one", n);
    
    CountSubLine(&n, s, "two");
    printf("%s = %d" "\n", "two", n);
    
    return EXIT_SUCCESS;
}
 
int CountSubLine(size_t *p, const char *l, const char *sub)
{
    char *tmp;
    size_t n;
        
    for (n = 0; (l = strstr(l, sub)) != NULL; l += strlen(sub))
        n++;
    
    *p = n;
    
    return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9622 / 5570 / 946
Регистрация: 25.07.2009
Сообщений: 10,695
07.06.2010, 03:55 #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
27
28
29
30
31
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#include <map>
 
int main(){
    std::string buf, tmp;
 
    std::cout << std::left;
 
    while ( true ){
        std::cout << "\nString: ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        std::istringstream ist(buf);
        std::map<std::string, int> map;
        while ( ist >> tmp )
            map[tmp]++;
 
        if ( map.empty() )
            return 1;
 
        std::cout << "Word                Count\n------------------------------" << std::endl;
        for ( std::map<std::string, int>::const_iterator i = map.begin(); i != map.end(); ++i )
            std::cout << std::setw(20) << i->first << i->second << std::endl;
    }
 
    return 0;
}
1
Akydzava
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 9
07.06.2010, 10:04  [ТС] #4
Цитата Сообщение от easybudda Посмотреть сообщение
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
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#include <map>
 
int main(){
    std::string buf, tmp;
 
    std::cout << std::left;
 
    while ( true ){
        std::cout << "\nString: ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        std::istringstream ist(buf);
        std::map<std::string, int> map;
        while ( ist >> tmp )
            map[tmp]++;
 
        if ( map.empty() )
            return 1;
 
        std::cout << "Word                Count\n------------------------------" << std::endl;
        for ( std::map<std::string, int>::const_iterator i = map.begin(); i != map.end(); ++i )
            std::cout << std::setw(20) << i->first << i->second << std::endl;
    }
 
    return 0;
}


Спасибо к,конечно, блоьшое ,а ты можешь объяснить что в каждой строчке происходит??И что там за функции??NT]

Добавлено через 3 минуты
Цитата Сообщение от Akydzava Посмотреть сообщение
Спасибо к,конечно, блоьшое ,а ты можешь объяснить что в каждой строчке происходит??И что там за функции??NT]
А ещё что такое std::??
Как это выглядит в программе?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2010, 10:04
Привет! Вот еще темы с ответами:

Написать функцию, меняющую первую букву каждого слова в строке на номер слова - C++
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. Продемонстрировать ее использование в программе. ...

Задана последовательность слов. Определить частоту вхождения каждого слова в последовательность. - C++
Доделать программу, чтобы работала как надо Задана последовательность слов. Определить частоту вхождения каждого слова в...

Преобразовать каждое слово в строке, удалив из него все вхождения первой буквы этого слова - C++
Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке,...

В строке с++ у каждого слова удалить 2ой символ - C++
В строке с++ у каждого слова удалить 2ой символ Например я ввожу: oipu hkuj dfta dnkj Должно вывести: opu huj dta dkj


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.06.2010, 10:04
Ответ Создать тему
Опции темы

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