Форум программистов, компьютерный форум, киберфорум
Наши страницы

найти max и min по длине слово - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача файлового потока в функцию http://www.cyberforum.ru/cpp-beginners/thread106631.html
Здрасти. ifstream in("1.txt"); что возвращает in? как передать этот поток (in) в функцию которая выводит символы? void readFile( ???????????? ){ char ch; while (in){
C++ В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов. http://www.cyberforum.ru/cpp-beginners/thread106629.html
C++ Проверка баланса фигурных скобок абстрактным стеком (реализованным в виде связного списка)
вот собственно задание: задан текст, содержащий три типа скобок - (), {}, . Программа должна проверить правильность расстановки скобок в тексте, а также, не нарушены ли правила вложенности...
прога на С++,связанная с файлами C++
Напишите программу, которая считывает произвольный текстовый файл, содержащий длинные строки и копирует его содержимое в новый файл, при этом разбив длинные строки таким образом, чтобы длина...
C++ программа на С++ http://www.cyberforum.ru/cpp-beginners/thread106617.html
Напишите программу, которая считывает произвольный текстовый файл и создает новый файл, в который записывает считанные из входного файла строки в алфавитном порядке. Имя входного и результирующего...
C++ Структуры. Необходимо написать программу (помогите пожалуйста): Сформировать массив, содержащий информацию о туристских поездках. Структурный тип содержит поля: название тура, необходима ли виза, це-на,... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9694 / 5644 / 962
Регистрация: 25.07.2009
Сообщений: 10,848
22.03.2010, 16:04
Цитата Сообщение от lilllu Посмотреть сообщение
через массив чаров
Это нудно... Вот Вам "джедайский" вариант, вдруг пригодится?!
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
#include <iostream>
#include <string>
#include <sstream>
#include <functional>
#include <set>
 
// дана строка символов. найти в ней max и min по длине слово 
// и заменить их на подстроки "max" и "min" соответственно
    
class LenCmp : public std::binary_function<std::string, std::string, bool> {
public:
    bool operator() (const std::string& a, const std::string& b){
        return a.length() > b.length();
    }
};
 
int main(){
    std::string s;
    std::cout << "String: ";
    std::getline(std::cin, s);
    
    std::istringstream ist(s);
    std::string tmp;
    std::set<std::string, LenCmp> words;
    while ( ist >> tmp )
        words.insert(tmp);
 
    std::cout << "Max word: " << *words.begin() << std::endl;
    std::cout << "Min word: " << *words.rbegin() << std::endl;
    
    size_t max_pos = s.find(*words.begin());
    s.replace(max_pos, words.begin()->length(), "max");
    size_t min_pos = s.find(*words.rbegin());
    s.replace(min_pos, words.rbegin()->length(), "min");
    
    std::cout << "Result: " << s << std::endl;
    
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru