C/C++

Недавно начали изучать масивы по с++,они пока что даются мне с трудом, поэтому прошу вас помочь решить эту задачку.

Помогите написать программу по условию на языке C++.Буду благодарен если программа будет написана с (cout и cin) и простым, понятным способом.

***В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) максимальный по модулю элемент массива;
2) сумму элементов массива, расположенных между первым и вторым положительными
элементами.
#include <iostream>
#include <cstdlib>
#include <cmath>

using namespace std;

int main(int argc, char * argv[])
{
const int n = 10;
double A[n];
srand(argc);
for (int x = 0; x < n; x++)
{
A[x] = ( rand() % 13 ) * pow(-1.0, rand() % 2);
cout << A[x] << ' ';
}
cout << endl;

double max = 0.0;
for (int x = 0; x < n; x++)
{
if ( fabs(A[x]) > fabs(max) ) max = A[x];
}

cout << "Максимальный по модулю элемент массива = "
<< max << '.' << endl;

int first_plus = -1, second_plus = -1;
double summa = 0.0;
for (int x = 0; x < n; x++)
{
if (first_plus == -1)
{
if (A[x] > 0.0) first_plus = x;
}
else if (second_plus == -1)
{
if (A[x] > 0.0) second_plus = x;
else summa += A[x];
}
else
{
break;
}
}

cout << "Сумма элементов массива между первым и вторым положительным число равна " << summa << '.' << endl;

return 0;
}
Элдор Мукимович Азимов
Элдор Мукимович Азимов
98 572
Лучший ответ
Вадим Желнов Программа работает, но мне нужно чтобы были каждый раз при запуске случайные числа и не заданные.
#include
#include

const int SIZE = 10;
int main()
{
double arr[SIZE] = {-1.5, -100.4, -8.7, -4.1, -4.6, -7.7, 10.5, 0.0, -4.4, 1.6};
double max = arr[0];
double sum = 0.0;
bool state = true;
for (int i = 0; i < SIZE; i++)
{
if (i > 0 && fabs(arr[i]) > fabs(max))
max = arr[i];
if (state && arr[i] > 0)
{
for (int j = i + 1; j < SIZE; j++)
{
if (arr[j] <= 0)
sum += arr[j];
else
break;
}
state = false;
}
}
std::cout << "max = " << max << std::endl;
std::cout << "sum = " << sum << std::endl;
}