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

Строки: найти самое короткое и самое длинное слово - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица. Поменять наибольший элемент и диагональный элемент http://www.cyberforum.ru/cpp-beginners/thread68493.html
Помогите пожалуйста .... Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.
C++/CLI WinForms Копирование текста из форм в файл Помогите написать есть richtexBox1 и richtexBox2 при нажатии на кнопку введенные данные обоих форм должны сохраниться в файл private: System::Void butten1_Click(System::Object^ sender, System::EventArgs^ e) { this->richTextBox1->SaveFile("TEXT/Resultati.rtf"); this->richTextBox1->SaveFile("TEXT/Resultati.rtf"); } http://www.cyberforum.ru/cpp-beginners/thread68487.html
C++ Нужно подредактировать прогу
В файле myfile.txt содержится информация типа а= 1,0; b = 5; с = 25,2; d = -l2,5. Написать функцию, которая получает строку типа «а + b = », «c*d = » или «b/d = », выбирает из файла необходимые значения, вычисляет и возвращает результат. В главной программе обеспечить ввод с клавиатуры строки и вывод результата. Выход из программы обеспечить при вводе строки « 0 + 0 ». Есть прога: #include...
C++ Вычислить
Даны действительные числа а1, а2, ....а10. Вычислить а1+а2^2+....+a10^10. Добавлено через 24 секунды #include <iostream> using namespace std; int main() { const int n=10; double a; double b;
C++ Пререгрузка операций с структурах http://www.cyberforum.ru/cpp-beginners/thread68453.html
Как перегрузить операцию вывода в структуре?Помогоите плиз,не могу понять...вот исходная структура(к примеру) struct guitar { int string; char name; int hambacker; int singl; };
C++ Записать в файл все члены последовательности, которые не меньше заданного eps Последовательность x1, x2, ... образована по закону: x_i=\frac{i-0.1}{i^3+\left|tg\,2i \right|}\;(i=1,2,...) Дано действительное \varepsilon \gt 0. Записать в файл h члены последовательности x1, x2, ..., остановившись после первого члена, для которого выполнено \left| x_i \right| \lt \varepsilon Можете полностью написать задачу. подробнее

Показать сообщение отдельно
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
01.12.2009, 01:27     Строки: найти самое короткое и самое длинное слово
Катюша

Пожалуйста помогите... а то у меня не выходит.
А лабу надо здать...

Дана строка текста, в которой слова разделены пробелами. Необходимо:
- определить количество слов в строке;
- найти самое короткое и самое длинное слово и вывести их на экран;
- исключить из строки первое и последнее слова и вывести текст, который остался.


Это тебе для освобождения от зачётов. Шоб никто не сомневался - бландинки рулят!!!

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
50
51
52
53
54
55
56
57
58
59
60
#include <locale>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <sstream>
#include <iostream>
 
#include <boost/algorithm/minmax_element.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
using namespace boost::lambda;
 
/*
Дана строка текста, в которой слова разделены пробелами. Необходимо:
- определить количество слов в строке;
- найти самое короткое и самое длинное слово и вывести их на экран;
- исключить из строки первое и последнее слова и вывести текст, который остался. 
*/
 
int main()
{
    setlocale(LC_ALL, "");
 
    std::string s;
    std::cin >> s;
 
    typedef std::vector<std::string> V;
    V v;
 
    typedef std::istream_iterator<V::value_type> I;
 
    std::stringstream ss(s);
    std::copy(I(ss), I(), std::back_inserter(v));
 
    std::cout << "Количество слов: " << v.size() << std::endl;
 
    if (v.size() < 2)
    {
        std::cerr << "Малавата слов, насяльника!" << std::endl;
        return 1;
    }
 
    std::string::size_type (std::string::* const sz)() const = &std::string::size;
    
    typedef std::pair<V::const_iterator, V::const_iterator> Info;
    const Info info = boost::minmax_element(v.begin(), v.end(), 
        bind(sz, _1) < bind(sz, _2)
        );
 
    std::cout << "Минимальный элемент: " << *info.first << std::endl;
    std::cout << "Максимальный элемент: " << *info.second << std::endl;
 
    std::cout << "Строка без первого и последнего слова: " << std::endl;
    
    typedef std::ostream_iterator<V::value_type> O;
    std::copy(++v.begin(), --v.end(), O(std::cout, " "));
 
    return 0;
}
 
Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru