Ис пользая контейнер list и deque написать программу
Даны натуральное число n и вещественный массив из n чисел. Подсчитать количество серий из отрицательных чисел и выдать эти серии. В каждой серии максимальный элемент поместить в начало серии.
#include <iostream>
#include <list>
#include <iterator>
using namespace std;
int main()
setlocale(LC_ALL, "rus");
list<double> lst;
double digit;
int n;
cout << "Введите число n" << endl;
cin >> n;
cout << "Введите последовательность" << endl;
for (int i = 0; i < n; i++) {
cin >> digit;
lst.push_back(digit);
}
cout << "\nВаша последовательность" << endl;
for (auto iter = lst.begin(); iter != lst.end(); iter++)
{
cout << *iter << " ";
}
cout << "\n\n\n" << endl;
list <double>::iterator p = lst.begin();
list <double> s1;
list <double> s2;
int s = 0;
if (*p > 0)
{
s2.push_back(*p);
s++;
p++;
}
else p++;
for (int i = 1; i < lst.size(); i++)
{
if(*p==*prev(p))p++;
else if (*p > 0 && *p > *prev(p))
{
s2.push_back(*p);
s++;
p++;
}
else
{
if (s1.size() < s2.size())
{
s1.clear();
for (list <double>::iterator j = s2.begin(); j != s2.end(); j++)
{
s1.push_back(*j);
}
}
s2.clear();
s2.push_back(*p);
s = 0;
s++;
p++;
}
}
if (s1.size() < s2.size())
{
s1.clear();
for (list <double>::iterator j = s2.begin(); j != s2.end(); j++)
{
s1.push_back(*j);
}
}
for (list <double>::iterator j = s1.begin(); j != s1.end(); j++)
{
cout << *j << " ";
}
return 0;
}