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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ удалить текст из файла http://www.cyberforum.ru/cpp-beginners/thread59677.html
как удалить текст из файла?30 часа в поиске сижу,помню где то читал что то вро f=fopen(name, "w+r)или что то в этом роде помогите Добавлено через 3 минуты извините не 30 часов а минут
C++ Определить максимальное число из пяти заданных чисел Буду благодарен если поможете решить хоть что нибудь=-O 1.Запишите алгоритм программы, определяющей максимальное число из пяти заданных чисел. 2.Запишите алгоритм программы, определяющей минимальное число из пяти заданных чисел. 3.Запишите алгоритм программы, определяющей среднее значение для пяти заданных чисел. 4.Запишите алгоритм программы, определяющей разность между максимальным и... http://www.cyberforum.ru/cpp-beginners/thread59662.html
Не запускается программа C++
Эта программа для подсчёта количества слов начинающихся с определённой буквы. У меня проблема с запуском пишет кучу ошибок про 'std'. Помогите запустить прогу! #include <iostream> #include <string> int main() { std::cout << "Please, enter string: "; std::string str; std::getline(std::cin, str);
C++ Разработать базу данных студентов.
Уважаемые программисты.помогите с программой,а то их навалилась куча и к тому не понимаю еще как это сделать. Разработать базу данных студентов. Исходными данными для проектирования является: информация о группе студентов из N человек, где запись о студенте содержит следующие данные: 1)Ф.И.О. студента. 2)Число, месяц, год рождения. 3)Год поступления в институт. 4)Факультет, кафедра....
C++ МАссив хелп http://www.cyberforum.ru/cpp-beginners/thread59630.html
Используйте двумерный массив для решения следующей задачи. Компания имеет 4 продавцов (их номера от 1 до 4), которые продают 5 разных продуктов (их номера от 1 до 5). Каждый день заносится следующая информация: 1) номер продавца; 2) номер продукта; 3) Общая выручка в долларах за проданный в этот день продукт. Напишите программу, которая считывает эту информацию за месяц и подсчитывает общую...
C++ Builder Поиск процесса на c++ ПОМОГИТЕ ПЛИЗ!!! Программирую на с++ builder 6. Задача: 1-е проверить наличие процесса "Sbplab.exe" 2-е если ехе не запущен запустить Проблема:через энный промежуток времени прога бесится и постоянно открывает экзешник void KillProcess(int id) { HANDLE ps = OpenProcess(1, false, id); if (ps) TerminateProcess(ps, -9); } подробнее

Показать сообщение отдельно
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 );
 
}
 
Текущее время: 21:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru