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

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

Войти
Регистрация
Восстановить пароль
 
Ardarik
11 / 8 / 2
Регистрация: 16.01.2011
Сообщений: 222
#1

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

19.05.2011, 21:07. Просмотров 241. Ответов 0
Метки нет (Все метки)

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++
Заменить содержимое самого короткого на содержимое самого длинного C++
C++ Строки. Найти длину самого короткого слова
C++ Вывод из вектора самого короткого и самого длинного string значения
C++ Определить длину самого короткого слова (составить блок-схему)

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

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

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