ЛИ
Латифов Исмоил

вводится строка в ней нужно поменять местами наименьшее и наибольшее слово (пишется на с++)

вот мой код
#include "stdafx.h"
#include
#include
#include
#include
#include

class LenCmp : public std::binary_function {
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 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(), *words.rbegin());
size_t min_pos = s.find(*words.rbegin());
s.replace(min_pos, words.rbegin()->length(), *words.begin() );

std::cout << "Result: " << s << std::endl;
system ("pause");
return 0;
для части вариантов работает а для варианта : 123 12 123 1234 123 не работае в чем проблема? (препада интересует именно этот вариант)

Aйбек
Aйбек

Какое-то раздутое решение. Возможно из-за того что std::set хранит только уникальные элементы.

http://ideone.com/Q54Ruc

Похожие вопросы
Очень нужна помощ. В целочисленном массиве М (4,4) поменять местами первую и последнюю строки
С клавиатуры вводятся результаты сдачи экзаменов N человек. Определить наименьший, наибольший и средний баллы. (в паскале
Что за англ слова? Нужно поменять буквы местами
упорялочить строки массива по неубыванию значений наименьших элементов строк в делфи
Мне нужно найти наибольшее и наименьшее значение функции.
Ввести строку, вывести слово, содержащее наибольшее количество гласных букв. На языке СИ (не С# !!!)
помогите с паскалем вообще не догоняю как делатьс клавиатуры вводится строка посчитать количество слов в строке и в конц
с клавиатуры вводится строка посчитать кол-во слов в строке и в коне каждого слова вставить звездочку
Программа нахождения наибольшего слова в строке. Найдите ошибку!
Basic. Дана матрица A(N, M). Поменяйте местами её наибольший и наименьший элементы.