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

Вывести все предложения текста в порядке неубывания их длины - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами (язык C) http://www.cyberforum.ru/cpp-beginners/thread221282.html
первая программа - заполняет массив начальными данными и записывает их в файл. вторая - считывает данные с файла и обрабатыватет. как реализовать?
C++ Linker Error: Undefined symbol istream.. Linker Error: Undefined symbol istream::getline(char near*, > int, unsigned char) in module program.cpp. Пишет при попытке запуска программы, хотя точно знаю что прога рабочая, как исправить, подскажите? http://www.cyberforum.ru/cpp-beginners/thread221280.html
Вопрос по ()qsort C++
есть массив, который разбивает предложение на слова. надо отсортировать все слова в порядке возрастание длинны. язык С. заранее благодарен
C++ Функции, ох уж эти функции =\
Написать функцию days с переменным числом параметров, которая находит количество дней, прошедших между двумя датами (параметрами функции являются даты в формате «дд.мм.гг». Написать вызывающую функцию main, которая обращается к функции days не менее трех раз с количеством параметров 3, 5, 8. Помогите...
C++ Как это будет выглядеть в С++ http://www.cyberforum.ru/cpp-beginners/thread221272.html
Вот программа на Паскале VAR S:STRING; BEGIN WHILE NOT EOF DO BEGIN READLN(S); WRITELN(S) END END. Помогите перевести, а то никак не получается.
C++ Нужен совет по проге. Здравствуйте. У меня есть проблема с задачей на C++. Я в нем полный 0 а в институте требуют. Пожалуйста если не трудно помогите с решением. Только по проще как нибудь а то я в этом не разберусь потом :stop: Спасибо! Задача: Дана матрица А(4,4) 1) Найти минимальный элемент среди элементов, лежащих на главной диагонали и его местоположение 2) Найти произведение для элементов второго столбца по... подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
27.12.2010, 22:06     Вывести все предложения текста в порядке неубывания их длины
Цитата Сообщение от Алина) Посмотреть сообщение
1. Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке последние слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из строки создать пользовательскую функцию.
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iterator>
 
int main()
{
    std::string str;
    std::vector<std::string> vec_str, vec_last_words;
 
    while(std::cout << "\n-> " && getline(std::cin, str))//Признак конца ввода - Ctrl + Z (для виндовс)
        vec_str.push_back(str);
 
    for(size_t i = 0; i < vec_str.size(); ++i)
    {
        std::string del(" ,.!?:;"), tmp = vec_str[i], _tmp;
 
        for(std::string::iterator it = tmp.begin();
                                    it != tmp.end(); ++it)
            if(del.find(*it) != std::string::npos)
                *it = ' ';
 
        std::istringstream ist(tmp);
        std::vector<std::string> vec_tmp;
 
        while(ist >> _tmp)
            vec_tmp.push_back(_tmp);
 
        vec_last_words.push_back(vec_tmp[vec_tmp.size() - 1]);
        vec_tmp.clear();
    }
 
    std::cout << "\n\nLast words after sort -> ";
    std::sort(vec_last_words.begin(), vec_last_words.end());
 
    std::copy(vec_last_words.begin(), vec_last_words.end(),
            std::ostream_iterator<std::string>(std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
Код
-> jhfjksd uryeu mnfs,jhdfjk.

-> jsidfj,jhfu:jfhusdf;urie?

-> irueio,hfsd,ire!

-> ^Z


Last words after sort -> ire jhdfjk urie

Process returned 0 (0x0)   execution time : 34.688 s
Press any key to continue.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru