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

Хитрое разделение массивов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ удалить текст из файла http://www.cyberforum.ru/cpp-beginners/thread59677.html
как удалить текст из файла?30 часа в поиске сижу,помню где то читал что то вро f=fopen(name, "w+r)или что то в этом роде помогите Добавлено через 3 минуты извините не 30 часов а минут
C++ Определить максимальное число из пяти заданных чисел Буду благодарен если поможете решить хоть что нибудь=-O 1.Запишите алгоритм программы, определяющей максимальное число из пяти заданных чисел. 2.Запишите алгоритм программы, определяющей... http://www.cyberforum.ru/cpp-beginners/thread59662.html
Не запускается программа C++
Эта программа для подсчёта количества слов начинающихся с определённой буквы. У меня проблема с запуском пишет кучу ошибок про 'std'. Помогите запустить прогу! #include <iostream> #include...
C++ Разработать базу данных студентов.
Уважаемые программисты.помогите с программой,а то их навалилась куча и к тому не понимаю еще как это сделать. Разработать базу данных студентов. Исходными данными для проектирования является:...
C++ МАссив хелп http://www.cyberforum.ru/cpp-beginners/thread59630.html
Используйте двумерный массив для решения следующей задачи. Компания имеет 4 продавцов (их номера от 1 до 4), которые продают 5 разных продуктов (их номера от 1 до 5). Каждый день заносится следующая...
C++ Деление чисел. Ошибка на ровном месте. Не пойму почему. Пишу задачу, где нужно вычислить простое выражение. И возникает проблема при делении 1 на другие числа. Код ниже: //вычисление формулы #include <iostream> #include <iomanip> #include <cmath>... подробнее

Показать сообщение отдельно
SONNY
8 / 8 / 0
Регистрация: 30.05.2009
Сообщений: 47
13.11.2009, 11:04
как нить

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
#include <functional>
#include <cstdlib>
#include <algorithm>
 
 
template<typename _InIt, typename _OutIt> void separate_arr( _InIt first, _InIt last, _OutIt dest1, _OutIt dest2 )
{
    typedef typename std::iterator_traits<_InIt>::difference_type diff_type;
    typedef typename std::iterator_traits<_InIt>::value_type value_type;
 
        if( *first == value_type() )
          return;
 
    _InIt curr_m = first;
    diff_type min = abs( *(++curr_m) - *first ); 
    std::pair<value_type, value_type> pair_v( *curr_m, *first );
    size_t idx_f = 0, idx_s = 1;
 
    for( _InIt curr_f = curr_m; curr_f != last; ++curr_f )
    {
        for( _InIt curr_s = curr_f; ++curr_s != last; )
            if( abs( *curr_f - *curr_s ) < min )
            {
                min = abs( *curr_f - *curr_s );
                pair_v = std::make_pair( *curr_f, *curr_s );
                idx_f = curr_f - first;
                idx_s = curr_s - first;
            }
    }
 
        *dest1 = pair_v.first;
    *dest2 = pair_v.second;
    
    *(first + idx_f) = value_type();
    *(first + idx_s) = value_type();
    last = std::partition( first, last, std::bind2nd(std::not_equal_to<value_type>(), value_type()) );
 
    separate_arr( first, last, ++dest1, ++dest2 );
 
}
 
 
int _tmain( int argc, _TCHAR* argv[] )
{
    int coll[] = { 40, 89, 21, 36, 4, -8, 15, 3, 13, 10 }, dest1[ 5 ], dest2[ 5 ];
    separate_arr( coll, coll + 10, dest1, dest2 );
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru