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

Распечатать самое длинное слово, первые две буквы которого "КО" - C++

Восстановить пароль Регистрация
 
F1ok
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 6
02.12.2010, 23:03     Распечатать самое длинное слово, первые две буквы которого "КО" #1
Дана строка символов. Группу символов, разделенную с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.

Распечатать самое длинное слово, первые две буквы которого "КО" (предполагается, что если такое слово есть, то оно единственное). Если таких слов нет, то выдать соответствующее текстовое сообщение.

Может помочь кто-нибудь набрасать альгоритм поиска? или код было бы савсем супер.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 23:03     Распечатать самое длинное слово, первые две буквы которого "КО"
Посмотрите здесь:

Поменять местами самое длинное слово и самое короткое слово в тексте C++
C++ Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.
C++ Найти самое длинное слово, которое заканчивается на "н"
C++ В заданной строке определить самое длинное и самое короткое слово
C++ Найдите самое длинное слово заданного предложения и укажите номер позиции, с которого оно начинается
C++ Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его
Найдите самое длинное, и самое короткое слово в заданном предложении C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
02.12.2010, 23:09     Распечатать самое длинное слово, первые две буквы которого "КО" #2
С помощью функции strtok выделяете в предложении слова, в каждом слове проверяете наличие необходимых букв, запоминаете длину слова и само слово в отдельном буфере, если нашлось слово длиннее, чем в буфере и выполняются необходимые условия, то перезаписываете слово, если к концу буфер пуст, то слова не нашлось, выводите соответствующее сообщение об этом, иначе слово.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
02.12.2010, 23:50     Распечатать самое длинное слово, первые две буквы которого "КО" #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
26
27
28
29
30
31
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
 
int main(void)
{
    std::string str, buf;
    std::cout << "-> ";
    getline(std::cin, str);
    std::istringstream ist(str);
    std::vector<std::string> VecStr;
    std::vector<int> VecSize;
    while(ist >> str)
        VecStr.push_back(str);
    for(int i = 0; i < VecStr.size(); ++i)
    {
        std::string temp = VecStr[i];
        if(!(temp.find("KO", 0)))
            VecSize.push_back(temp.length());
    }
    for(int i = 0; i < VecStr.size(); ++i)
    {
        std::string temp = VecStr[i];
        if(temp.length() == *std::max_element(VecSize.begin(), VecSize.end()))
            buf = temp;
    }
    std::cout << "\n\t-> " << buf;
    return 0;
}
Yandex
Объявления
02.12.2010, 23:50     Распечатать самое длинное слово, первые две буквы которого "КО"
Ответ Создать тему
Опции темы

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