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

Вывести длину самого короткого и самого длинного - C++

Восстановить пароль Регистрация
 
Ardarik
11 / 8 / 2
Регистрация: 16.01.2011
Сообщений: 222
19.05.2011, 21:07     Вывести длину самого короткого и самого длинного #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
#include <iostream>
#include <string>
#include <sstream>
 
int vowels_count(const std::string & s){
        static const std::string VOW("AaBbCcDdEeIiOoUuYy");
        int cnt(0), pos(0);
        while ( ( pos = s.find_first_of(VOW, pos) ) != std::string::npos ){
                ++cnt;
                ++pos;
        }
        return cnt;
}
 
int main(){
        const int NEEDED(3);
        std::string buf;
        
 
        while ( std::cout << "String: " && std::getline(std::cin, buf) && ! buf.empty() ){
                std::istringstream ist(buf);
                int cnt(0);
              
                while ( ist >> buf ){
                        if ( vowels_count(buf) >= NEEDED && ++cnt )
                                std::cout << buf << std::endl;
                   
                }
                std::cout << cnt << " words." << std::endl;
                
        }
        return 0;
}
Чтобы считал все буквы, в этой строке static const std::string VOW("AaBbCcDdEeIiOoUuYy"); все буквы прописать?

Добавлено через 38 минут
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
42
43
44
45
46
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
 
int main(void)
{
    char str[BUFSIZ];
    char buf[BUFSIZ];
    char *pword;
    int max,min;
    printf("Enter text -> ");
    gets(str);
    strcpy(buf,str);
    pword=strtok(buf," ,.");
    max=strlen(pword);
    min=strlen(pword);
    while(pword != 0)
    {
        if(strlen(pword)>max)
        {
            max=strlen(pword);
        }
        if(strlen(pword)<min)
        {
            min=strlen(pword);
        }
        pword=strtok(NULL," ,.");
    }
    pword=NULL;
    pword=strtok(str," ,.");
     while(pword != NULL)
     {
         if(strlen(pword)==max)
         {
             printf("\nLongest -> %s",pword);
         }
         if(strlen(pword)==min)
         {
             printf("\nShorting -> %s",pword);
         }
         pword=strtok(NULL," ,.");
     }
    getch();
    return 0;
}
Вот что нашел. Помогите переделать в с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2011, 21:07     Вывести длину самого короткого и самого длинного
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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