Предмет: Информатика, автор: borsev23

Создать динамические массивы, используя указатели. Задан одномерный массив а (n). Найти номер последнего положительного элемента и переставить его с первым элементом массива. Найти количество и сумму отрицательных элементов массива. С++


9852451481: На питон подойдёт?
lozromanik: Числа случаные?
borsev23: Числа любыe
borsev23: Только С++

Ответы

Автор ответа: lozromanik
1

Відповідь:

#include<iostream>

#include<random>

#include<ctime>

int main(){

setlocale(0,"");

std::mt19937 f(time(0));

   std::uniform_int_distribution<> uid(-100,100);

   

   long n,pos=0,neg=0,index;

   std::cout<<"Введите n:\n";

   std::cin>>n;std::cin.ignore();

   std::cout<<"Массив до замены:\n";

   

   long *mas = new long[n];

   for(long i=0;i<n;i++){

    mas[i]=uid(f);

    std::cout<<"mas["<<i<<"] = "<<mas[i]<<std::endl;

    if(mas[i]>0) pos+=mas[i];

    else neg+=mas[i];

}

for(index=n-1;index>=0;index--){

 if(mas[index]>0)break;

}

std::swap(mas[0],mas[index]);

std::cout<<"Массив после замены:\n";

   

for(long i=0;i<n;i++){

    std::cout<<"mas["<<i<<"] = "<<mas[i]<<std::endl;

}

std::cout<<"Сумма позитивных чисел = "<<pos<<std::endl;

std::cout<<"Сумма отрицательных чисел = "<<neg<<std::endl;

delete []mas;

return 0;

}

Использован вихрь Мерсенна.

Похожие вопросы
Предмет: Қазақ тiлi, автор: 118жаттыу
Предмет: Алгебра, автор: artem12gyr1336