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

сумму элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ двухмерный массив.. http://www.cyberforum.ru/cpp-beginners/thread84060.html
ввести матрицу размером N* M.память массива выделить динамически.найти минимальный среди элементов,лежащих выше главной диоганали
C++ Удалить минимальный и максимальный элементы массива Ввести одномерный статический массив из k чисел.Удалить минимальный и максимальный элементы массива.:help: http://www.cyberforum.ru/cpp-beginners/thread84048.html
Полиморфизм :( C++
Всем здравствуйте. Ребят помогите пожалуйста с полиморфизмом. Я читал некоторые статьи и чем больше их читаю, тем больше возникает вопросов.. А вот сами вопросы, которые возникли при изучении...
Классы. C++
Класс футбольная команда Класс имеет 3 поля Одно поле символьное (название команды) И еще 2 поля числовые (количество игроков и количество игр) 2 метода: 1)Метод инициализации полей; 2)вывод на...
C++ В квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread84026.html
задача такая:в квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент найденый среди элементов находящихся ниже главной диагонали. т.е. допустим матрица 5х5: 2 3 5...
C++ Возведение в степень Подскажите оператор для возведения числа в n-ую степень. Зарание спасиба подробнее

Показать сообщение отдельно
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
09.01.2010, 22:03
Аннушка,
вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <functional>
#include <iostream>
 
int main()
{
double arr[] = {-1,-2,-3,4,-5,-6,-7,8,-9,-10,11};
const size_t N = sizeof(arr) / sizeof(arr[0]);
 
double* first = std::find_if(arr, arr+N, std::bind2nd(std::greater<double>(), 0.0));
double* second = std::find_if(++first, arr+N, std::bind2nd(std::greater<double>(), 0.0));
std::cout << std::accumulate(first, second, 0.0) << std::endl;
 
return 0;
}
Проверка: http://codepad.org/3ePuawQW
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru