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

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

Войти
Регистрация
Восстановить пароль
 
Marf
Сообщений: n/a
#1

найти количество слов в которых две или больше буквы "с" - C++

28.04.2010, 22:46. Просмотров 556. Ответов 5
Метки нет (Все метки)

И так задача в том что бы найти количество слов в которых две или больше буквы "с".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2010, 22:46     найти количество слов в которых две или больше буквы "с"
Посмотрите здесь:

C++ Найти количество слов начинающихся на букву "а"
C++ Найти количество слов, которые содержат хотя бы одну букву "A"
Определить, каких букв в тексте больше: "м" или "н" C++
C++ Вычисление суммы позиций на которых в слове Х стоят буквы "в" и "п"
C++ Найти количество слов, которые содержат хотя бы одну букву "а"
C++ Дан текст, состоящий не менее чем из пяти слов. Сформировать стек из тех слов, в которых присутствует буква "Е"
C++ Дан текст.Найти количество слов,где две гласные буквы и вывести их на экран.
C++ Найти количество слов с тремя буквами "А"
Подсчитать количество слов "KSM" и "SKS" в строке C++
Подсчитать количество слов, содержащих три буквы "c" C++
C++ Найти количество слов в заданном тексте, которые заканчиваются на "ая"
C++ Определить количество слов, начинающихся с буквы "T"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.04.2010, 01:34     найти количество слов в которых две или больше буквы "с" #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
int main(){
    std::string buf, tmp;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::istringstream ist(buf);
    size_t cnt = 0;
    while ( ist >> tmp )
        if ( std::count(tmp.begin(), tmp.end(), 'c') > 1 )
            ++cnt;
    std::cout << cnt << " words contain two or more 'c' characters." << std::endl;
    return 0;
}
Marf
Сообщений: n/a
29.04.2010, 19:13     найти количество слов в которых две или больше буквы "с" #3
Блин я даж такого синтаксиса незнаю..
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
29.04.2010, 20:21     найти количество слов в которых две или больше буквы "с" #4
Цитата Сообщение от Marf Посмотреть сообщение
Блин я даж такого синтаксиса незнаю..
Да не вопрос!
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 <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define CHAR_TO_FIND 'c'
 
int main(void){
    char buf[BUFSIZ], *pWord, *pChar;
    size_t cntWords, cntChar;
 
    printf("String: ");
    if ( !fgets(buf, BUFSIZ, stdin) || *buf == '\n' )
        exit(1);
    cntWords = 0;
    for ( pWord = strtok(buf, " \t\n"); pWord != NULL; pWord = strtok(NULL, " \t\n") ){
        for ( cntChar = 0, pChar = strchr(pWord, CHAR_TO_FIND); pChar != NULL;  ++cntChar, pChar = strchr(++pChar, CHAR_TO_FIND) ){
            if ( cntChar > 1 ){
                ++cntWords;
                break;
            }
        }
    }
    printf("%d words contain 2 or more letters '%c'.\n", cntWords, CHAR_TO_FIND);
 
    exit(0);
}
CyBOSSeR
09.05.2010, 02:38
  #5

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
int main(){
    std::string buf, tmp;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::istringstream ist(buf);
    size_t cnt = 0;
    while ( ist >> tmp )
        if ( std::count(tmp.begin(), tmp.end(), 'c') > 1 )
            ++cnt;
    std::cout << cnt << " words contain two or more 'c' characters." << std::endl;
    return 0;
}
Отличный способ разделения на слова. Спасибо!

easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
09.05.2010, 03:48     найти количество слов в которых две или больше буквы "с" #6
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Отличный способ разделения на слова.
Не всё так хорошо, как кажется... Я, было, пытался понять, как бы этим макаром строку не только по пробельным, но и по произвольным символам делить, да так и не понял...
Yandex
Объявления
09.05.2010, 03:48     найти количество слов в которых две или больше буквы "с"
Ответ Создать тему
Опции темы

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