Люд, помогите составить алгоритм решения задачки на языке С ++,можете пожалуйста

Люд, помогите составить метод решения задачи на языке С ++,можете пожалуйста объяснить.честно разговаривая даже условие самой задачки не понял.В массиве Х (N) отыскать S1 - сумму положительных элементов массива в первой половине массива и S2 - сумму отрицательных элементов массива во 2-ой половине массива.

Задать свой вопрос
2 ответа
includelt;iostreamgt;//библиотекапотоковввода/выводаincludelt;vectorgt;//библиотека"вектор",этообертканаддинамическиммассивомusingnamespacestd;/**местоимен,безнегокомпиляторнеусвоит,*чтозафункциитыжелаешьиспользоватьичтозаобъекты*создавать,тоестьбиблиотеки,*чтоподключилимывыше-незаведутсябезнего.*/
//этафункциясчитаетсуммуположительныхелементовввекторе(массиве),отидо//обозначенногоиндекса,всепараметрыпередаемпоссылкевоизбежаниикопирования
//-----------------------------------------------------------------------------doublegetSumOfPositivElements(constvectorlt;doublegt;amp;array,constintamp;indexFrom,constintamp;indexTo)//-----------------------------------------------------------------------------doublesumOfPositivElements=0;//переменная,чтобережётсуммуfor(inti=indexFrom;ilt;indexTo;++i)//циклотидообозначенногоиндексаif(0lt;array[i])//условие,еслиелементбольшенуляsumOfPositivElements+=array[i];//топриплюсоватьегоreturnsumOfPositivElements;//возвращатьприобретенныйитогсуммы
//работаетподобно,сразличиемлишчтосуммируетотрицательныеелементы
//-----------------------------------------------------------------------------doublegetSumOfNegativElements(constvectorlt;doublegt;amp;array,constintamp;indexFrom,constintamp;indexTo)//-----------------------------------------------------------------------------doublesumOfNegativElements=0;for(inti=indexFrom;ilt;indexTo;++i)if(0gt;array[i])sumOfNegativElements+=array[i];returnsumOfNegativElements;
//основнаяфункцияпрограммки
//-----------------------------------------------------------------------------intmain()//-----------------------------------------------------------------------------vectorlt;doublegt;myArray;//создаемвектор(массив),чтобережётзначениятипаdoubledoublearraySize;//переменная,чтобережётразмервводимогомассиваintelementBuf;//вэтойпеременнойбудемберечьвводимыйелементintarrayMiddlePosition;//индекссерединымассива
coutlt;lt;"Enterarraysize:";cingt;gt;arraySize;//вводимразмермассива
arrayMiddlePosition=arraySize/2;//определяемегосередину
myArray.reserve(arraySize);//резервируемразмерподкол-воелементов
for(inti=0;ilt;arraySize;++i)//циклинициализациивектораcoutlt;lt;"Enterelement:";cingt;gt;elementBuf;//вводимтекущийелементmyArray.push_back(elementBuf);//вставляемеговвекторcoutlt;lt;"Elementsleft:"lt;lt;arraySize-(i+1);//расчитываемкол-вооставшихсяелементовcoutlt;lt;endllt;lt;endl;
coutlt;lt;endl;coutlt;lt;"Sumofpositivelementsinfirstarrayhalf:";//выводимсуммуположительныхелементоввпервойполовинемассиваcoutlt;lt;getSumOfPositivElements(myArray,0,arrayMiddlePosition);coutlt;lt;endl;
coutlt;lt;"Sumofnegativelementsinfirstarrayhalf:";//выводимсуммуотрицательныхелементовввторойполовинемассиваcoutlt;lt;getSumOfNegativElements(myArray,arrayMiddlePosition,myArray.size());coutlt;lt;endl;
//останавливаемвыполнениепрограммы,чтобыпоглядетьитогsystem("pause");//возращаемзначение'0',чтоозначаетдлясистемы,чтопрограммаокончилаработуудачно(безошибок)return0;
Если на быструю руку, то так, должно скомпилится :)
include lt;iostreamgt;
include lt;randomgt;
include lt;ctimegt;
using namespace std;

const int n = 10;
mt19937 gen(time(0));
uniform_int_distributionlt;gt; uid(-50, 50);

int main()

int x[n], s1, s2;
s1 = s2 = 0;
for (int i = 0; i lt; n; ++i)
x[i] = uid(gen);
cout lt;lt; x[i] lt;lt; " ";

for (int i = 0; i lt; (n / 2); ++i)
if (x[i] gt; 0)
s1 += x[i];


for (int i = (n/2); i lt; n; ++i)
if (x[i] lt; 0)
s2 += x[i];


cout lt;lt; endl;
cout lt;lt; "S1= " lt;lt; s1 lt;lt; endl;
cout lt;lt; "S2= " lt;lt; s2 lt;lt; endl;

return 0;
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт