Задача на нахождение суммы и преобразование массива

Есть задача, нужно:

  • Найти сумму элементов массива, расположенных после первого положительного элемента;
  • преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [0, 10], а потом — все остальные.
  • Порядок следования элементов не изменять.

Моя попытка:

#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;

int main()
{
    setlocale(LC_ALL, "RUS");
    srand(time(NULL));
    const int SIZE = 10;
    double arr[SIZE];
    int a, b; 
    
    int n;
    int choose_number;
    cout << "ВВедите количество элементов массива n:";
    cin >> n;
    cout << "Если хотите ввести массив самостоятельно-0,рандомно-1"<<endl;
    cin >>choose_number;
    if (choose_number == 0)
    {
        cout << "Введите вещественные элементы массива:" << endl;
        for (int i = 0; i < n; i++)
        {
            cout << i << "-й элемент массива = " << endl;
            cin >> arr[i];
        }
    }
    else
    {
        cout << "Введите диапазон значений а,b:"<<endl;
        cin >> a >> b;
        for (int i = 0; i < n; i++)
        {
            
            arr[i] =(((double)rand()/RAND_MAX)*(b-a)+a);
            cout <<i << "-й элемент массива = " << arr[i] << endl;
        }
        
    }
    double max_el;
        max_el = fabs( arr[0]);
        int imax = 0;
    for (int i =0; i < n; i++)
    {
        if( fabs(arr[i]) >max_el )
        {
            max_el = fabs(arr[i]);
            imax = i;
         }
        
    }
    cout << "Номер максимального элемента массива:" << imax+1<< endl;
    

    double summ_el = 0;
    for (int i = 0; i < n; i++)
    {
        if (arr[i] > 0)
        {
            summ_el += arr[i];
            i++;
        }
    }
    cout << "Сумма элементов массива после первого положительного элемента:" << summ_el << endl;

    return 0;
}

Но у меня не получается найти сумму


Ответы (0 шт):