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

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

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

C++ Найти количество слов начинающихся на букву "а"
C++ найти количество слов которые содержат хотя бы одну букву "A"
C++ Дан текстовый файл F. найти самое долгое слово, вторая буква которых "о". если слов с одинаковой длинной несколько, то сообщить об этом
C++ Вычисление суммы позиций на которых в слове Х стоят буквы "в" и "п"
C++ найти количество слов которые содержат хтя бы одну букву "а".
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.05.2010, 03:48     найти количество слов в которых две или больше буквы "с" #6
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Отличный способ разделения на слова.
Не всё так хорошо, как кажется... Я, было, пытался понять, как бы этим макаром строку не только по пробельным, но и по произвольным символам делить, да так и не понял...
Yandex
Объявления
09.05.2010, 03:48     найти количество слов в которых две или больше буквы "с"
Ответ Создать тему
Опции темы

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