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

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

Войти
Регистрация
Восстановить пароль
 
F1ok
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 6
#1

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

02.12.2010, 23:03. Просмотров 795. Ответов 2
Метки нет (Все метки)

Дана строка символов. Группу символов, разделенную с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.

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

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

C++ найти количество слов в которых две или больше буквы "с"
Напечатать самое длинное и самое короткое слово в строке C++
C++ Найти самое короткое слово в строке, которое заканчивается на букву "а"
C++ Найти самое длинное слово, которое заканчивается на "н"
Вывести самое длинное и самое короткое слово из строки C++
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
2842 / 1779 / 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     Распечатать самое длинное слово, первые две буквы которого "КО"
Ответ Создать тему
Опции темы

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