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

Определить наиболее многочисленную группу слов одинаковой длины. Объединить эти слова в строку. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перенос кода на 64-битную платформу http://www.cyberforum.ru/cpp-beginners/thread515164.html
Пытаюсь разобраться с проблемами на переноса кода на 64битную платформу. В сети встретил вот такую конструкцию. #ifdef _WIN64 #define CONST3264(a) (a##i64) #else #define CONST3264(a) (a) #endif const size_t M = ~CONST3264(0xFu); Вроде всё понятно, кроме одного: "##i64".
C++ C# и С++ Я решил начать программировать и не могу определится между двумя языками C# и С++ можете подсказать + и - и перспективность языка? http://www.cyberforum.ru/cpp-beginners/thread515162.html
C++ вывести на экран фигуру в виде ромба если вводится ее сторона.
вывести на экран фигуру в виде ромба если вводится ее сторона. Добавлено через 5 минут вывести на экран фигуру в виде ромба символами * если вводится ее сторона.
[C++] В одномерном массиве,состоящем из n вещественных элементов ,вычислить... C++
Задание 1 В одномерном массиве,состоящем из n вещественных элементов ,вычислить: 1)сумму отрицательных элементов массива 2)произведение элементов массива, расположенных между максимальным и минимальным элементами Упорядочить элементы массива по возрастанию. Задание 2 Дана целочисленная прямоугольная матрица.Определить: 1)Количество строк, не содержащих ни...
C++ Модифицируйте класс fraction http://www.cyberforum.ru/cpp-beginners/thread515151.html
Модифицируйте класс fraction в четыре функциональном дробном калькуляторе, чтобы он использовал перегруженные операции сложения, вычитания, умножения и деления. Также перегрузите операции == и != и используйте их для выхода из цикла, когда пользователь вводит 0/1, 1/0, 0 и 1 значение дроби.
C++ L= 2·π·R Дана длина L окружности. Найти ее радиус R и площадь S круга, ограниченного этой окружностью, учитывая, что L = 2·π·R, S = π·R2. В качестве значения π использовать 3.14. ребята,как будет R=??? подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.03.2012, 14:24     Определить наиболее многочисленную группу слов одинаковой длины. Объединить эти слова в строку.
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
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <iterator>
#include <algorithm>
#include <unistd.h>
 
typedef std::vector< std::string >            str_vec_t;
typedef std::map< size_t, str_vec_t >         length_map_t;
typedef std::pair< size_t, str_vec_t >        length_pair_t;
typedef std::istream_iterator< std::string >  words_in_it_t;
typedef std::ostream_iterator< std::string >  words_out_it_t;
 
struct size_comparator
{
    bool operator() ( const length_pair_t &a, const length_pair_t &b )
    {
        return a.second.size() < b.second.size();
    }
};
 
int main( )
{
    length_map_t length_map;
 
    // если выводим на терминал - вывести приглашение на ввод
    if( isatty( STDOUT_FILENO ) )
        std::cout << "> ";
 
    // составляем карту массивов слов с ключом по длине слова
    for( words_in_it_t it( std::cin ); it != words_in_it_t(); it++ )
        length_map[ it->length() ].push_back( *it );
 
    if( !length_map.size() )
        return 0;
 
    // ищем элемент карты с бОльшим числом элементов
    length_map_t::const_iterator biggest_words_set =
             std::max_element( length_map.begin(), length_map.end(), size_comparator() );
 
    // выводим его на std::cout
    std::copy( biggest_words_set->second.begin(), biggest_words_set->second.end(), words_out_it_t( std::cout, " " ) );
 
    return 0;
}
Код
> Maps are a kind of associative container that stores elements formed by the combination of a KEY VALUE and a MAPPED VALUE.

In a MAP, the KEY VALUE is generally used to uniquely identify the element, while the MAPPED VALUE is some sort of value associated to thie KEY.
^Z
of by of In is to is of to
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru