Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
#include <algorithm>
#include <boost/algorithm/minmax_element.hpp>
 
typedef std::pair<const int*, const int*> minmax_result;
 
const int N = 10;
 
// для примера последовательность содержит случайные числа
static void fill_array(int* parray, size_t dimension)
{
    std::generate_n(parray, dimension, std::rand);
}
 
void test1()
{
 
    /*
    1.    Дана последовательность из 10 целых чисел. Найти сумму чисел  
    этой последовательности, расположенных между максимальным и  
    минимальными числами (в сумму включить и оба этих числа).
    */
 
    int arr[N];
    fill_array(arr, N);
 
    // ищем индексы минимального и максимального элементов
    minmax_result minmax = boost::minmax_element(arr, arr+N);
    ptrdiff_t diff = minmax.first - minmax.second;
 
    // суммирование
    int sum;
 
    // учтём, что индексы миниального и максимального элемента могут располагаться в массиве как угодно
    // друг относительно друга.
    if (diff > 0)
    {
        sum = std::accumulate(minmax.second, minmax.first, *minmax.first);        
    }
    else
    {
        sum = std::accumulate(minmax.first, minmax.second, *minmax.second);
    }
}
 
 


Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 14:09 23-01-2007 | Исправлено: distance, 14:20 23-01-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru