Другие языки программирования и технологии

Помогите исправить программу С++

есть задание:
1)сумма положительных элементов (сделано)
2)В одномерном массиве, состоящем из n вещественных элементов вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Проблема в том что произведение считает не правильно, а ошибку вычислить не могу, хоть и знаю где примерно искать =/
код тут: freetexthost. com /15du6wxxsj
Dastan Zhalimbetov
Dastan Zhalimbetov
1 867
Не можешь сам, используй STL (или подсмотри, как там сделано) :

#include <iostream>
#include <algorithm>
#include <functional>
#include <numeric>
#include <cmath>
#include <cstdlib>
#include <ctime>

using namespace std;

double addop(double s, double x) { return x > 0? s + x : s; }
bool cmpop(double x, double y) { return abs(x) < abs(y); }

int main() {
srand(time(0));

int n;
cout << "n? ";
cin >> n;

double *a = new double[n];
for (int c = 0; c < n; ++c) cout << ' ' << (a[c] = rand() % 1001 / 100.0 - 5);

cout << "\nсумма положительных: " << accumulate(a, a + n, 0.0, addop) << endl;

double *m1 = max_element(a, a + n, cmpop);
cout << "максимальный по модулю #" << m1 - a << ": " << *m1 << endl;
double *m2 = min_element(a, a + n, cmpop);
cout << "минимальный по модулю #" << m2 - a << ": " << *m2 << endl;
if (m1 > m2) swap(m1, m2);

cout << "произведение м/у макс. и мин. по модулю: "
<< accumulate(m1 + 1, m2, 1.0, multiplies< double >()) << endl;
delete a;

return 0;
}
ДЗ
Данил Зайнуллин
94 695
Лучший ответ
Dastan Zhalimbetov а не могли бы вы подогнать по виду под мою программу, я врят ли смогу объяснить преподу откуда я узнал про эти библиотеки и суммирование с помощью accumulate.
В задании сказано "максимальным по модулю и минимальным по модулю". А ты сравниваешь просто значения, а потом выводишь модуль произведения.
Dastan Zhalimbetov а как это реализовать? я уже туго соображаю, весь день пишу три программы. я перед расчетом произведения прописывал a=abs(a) чтобы проще было найти макс. и мин. по модулю, но считает все равно не правильно
Найди себе девушку.
Dastan Zhalimbetov я бы с радостью, но мне важнее экзамен завтра сдать)