Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.11.2014
Сообщений: 7
1

Ввести последовательность предложений. Найти самое длинное слово среди них и вывести предложение с этим словом

10.11.2014, 17:37. Показов 1046. Ответов 2
Метки нет (Все метки)

Ввести последовательность предложений. Найти самое длинное слово среди них и вывести предложение с этим словом большими буквами!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2014, 17:37
Ответы с готовыми решениями:

Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.
Задача: В заданном тексте найти самое длинное слово и самое длинное предложение. Помогите решить На...

Сколько предложений в тексте и вывести самое длинное предложение
Нужно на visual c++ Или хотя бы просто посоветуйте как сделать примерно, какие команды...

Определить самое длинное слово среди всех слов введенных предложений
Ввести последовательность предложений. Определить самое длинное слово среди всех слов введенных...

Найти в тексте самое длинное слово и самое длинное предложение
вписать текст с клавиатуры и найти в этом тексте самое длинное слово и самое длинное...

2
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
10.11.2014, 23:47 2
Лучший ответ Сообщение было отмечено sanyokone как решение

Решение

Как то так:
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
47
48
49
#include <algorithm>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
 
int main()
{
    std::ifstream ifs("FILE.txt");
    std::stringstream ss;
 
    // считываем предложения с файла
    std::copy(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>(),
        std::ostreambuf_iterator<char>(ss));
 
    ifs.close();
 
    // вектор предложений
    std::vector<std::string> sentence;
 
    std::string maxWord; // самое длинное слово
    int idxOfMaxWord; // номер предложения в котором оно находится
 
    for (std::string s, newSent; !ss.eof();)
    {
        ss >> s; // считываем по словам
        newSent += s + ' ';
 
        // если встретили . или ! или ?, то начинаем новое предложение
        if (*(newSent.end() - 2) == '.' || *(newSent.end() - 2) == '!' || *(newSent.end() - 2) == '?' || ss.eof()) {
            sentence.push_back(newSent);
            newSent.clear();
        }
        // определяем самое длинное слово и индекс его предложения в векторе sentence
        if (s.length() > maxWord.length()) {
            maxWord = s;
            idxOfMaxWord = sentence.size();
        }
    }
 
    std::string resSent = sentence[idxOfMaxWord]; // предложение с самым длинным словом
    // преобразуем его к верхнему регистру
    std::transform(resSent.begin(), resSent.end(), resSent.begin(), ::toupper);
    // вывод
    std::cout << resSent << std::endl;
 
    return 0;
}
долго не парился, если хочешь доделай.
0
0 / 0 / 0
Регистрация: 06.11.2014
Сообщений: 7
12.11.2014, 16:10  [ТС] 3
Issues, а если с использованием только string.h, ctype.h, stdio.h, stdlib.h ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2014, 16:10

Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое
Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое. Слова...

Ввести символьную строку. Найти в строке самое длинное слово и вывести его на экран. Новых строк не создавать
Ввести символьную строку. Найти в строке самое длинное слово и вывести его на экран. Новых строк не...

Найти самое длинное общее слово двух заданных предложений
Помогите, пожалуйста, написать программу которая будет находить самое длинное общее слово из 2-х...

Ввести предложение, и вывести самое короткое слово?
Ввести предложение, и вывести самое короткое слово??? Есть отдельная функция, которая удаляет...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.