написать программу в C++, с использованием векторов
Дан массив из случайных вещественных элементов. Найти сумму всех
положительных элементов и увеличить каждый элемент исходного массива на
это число. Произвести сортировку по убывания этого массива и удалить
последний элемент.
Ответы
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>
using namespace std;
bool myfunction (int i,int j) { return (i>j); }
int oneortwo() {
if(rand()%2==1) {
return 1;
} else {
return -1;
}
}
int main() {
vector<long long int> arr;
srand(time(0));
setlocale(LC_ALL, "Russian");
for(int i = 0; i<5; ++i) {
arr.push_back(rand()*oneortwo());
cout << arr[arr.size()-1] << " ";
}
long long sum = 0;
for(int i = 0; i<arr.size(); ++i) {
if(arr[i]>=0) {
sum+=arr[i];
}
}
for(int i = 0; i<arr.size(); ++i) {
arr[i]*=sum;
}
sort(arr.begin(), arr.end(), myfunction);
arr.erase(arr.begin()+arr.size()-1);
cout << endl << endl;
for(int i = 0; i<arr.size(); ++i) {
cout << arr[i] << " ";
}
}