Відповідь:
#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";
std::cout<<"Сумма позитивных чисел = "<<pos<<std::endl;
std::cout<<"Сумма отрицательных чисел = "<<neg<<std::endl;
delete []mas;
return 0;
Использован вихрь Мерсенна.
Copyright © 2025 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Відповідь:
#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;
}
Использован вихрь Мерсенна.