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

Найти самое длинное слово в сообщении - C++

Восстановить пароль Регистрация
 
Maslenok:)
0 / 0 / 0
Регистрация: 11.08.2010
Сообщений: 21
09.05.2012, 18:34     Найти самое длинное слово в сообщении #1
Дано осмысленное текстовое сообщение. Нужно найти самое длинное слово в этом сообщении. желательно чтобы программа была как можно проще. Заранее всем спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Prin53
 Аватар для Prin53
2 / 2 / 0
Регистрация: 28.02.2012
Сообщений: 117
09.05.2012, 19:58     Найти самое длинное слово в сообщении #2
Слова ищешь по между пробелами. Потом копируешь длину в переменную, удаляешь из строки до первого пробела, т.е. слово. Сравниваешь длину след. слова с переменной, если надо меняешь местами. И т.д.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
09.05.2012, 20:59     Найти самое длинное слово в сообщении #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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    string str = "";
    string word = "";
    int max = -1;
    int var;
    ifstream out("data.txt");
    while(!out.eof())
    {
        out >> str;
        var = str.length();
        if (var > max)
        {
            max = str.length();
            word = str;
        }
    }
    cout << "\nIn this text the biggest word is: " << word << endl;
 
    return 0;
}
в файле data.txt This is the sentence with some large word. How we can find it? Let do it! Пиши туда что хочешь.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.05.2012, 21:53     Найти самое длинное слово в сообщении #4
А если есть несколько слов наибольшей длины?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <iterator>
#include <algorithm>
 
int main() {
    std::string str;
    
    while ( std::cout << "String: " && std::getline(std::cin, str) && ! str.empty() ) {
        std::istringstream ist(str);
        std::map<int, std::vector<std::string> > words;
        while ( ist >> str )
            words[str.length()].push_back(str);
        std::cout << "Most longest word(s): ";
        std::copy(words.rbegin()->second.begin(), words.rbegin()->second.end(), std::ostream_iterator<std::string>(std::cout, " "));
        std::cout << std::endl;
    }
    
    return 0;
}
Yandex
Объявления
09.05.2012, 21:53     Найти самое длинное слово в сообщении
Ответ Создать тему
Опции темы

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