Необхідно відсортувати перші дві третини масиву в порядку зростання якщо середнє арифметичне всіх елементів більше нуля; інакше — лише першу третину. Іншу частину масиву не сортувати, а розташувати у зворотному порядку.
С++
Ответы
Ответ дал:
1
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
void sortArray(vector<int>& arr) {
double sum = 0.0;
for (int i = 0; i < arr.size(); i++) {
sum += arr[i];
}
double avg = sum / arr.size();
int endIdx = (avg > 0.0) ? arr.size() * 2 / 3 : arr.size() / 3;
sort(arr.begin(), arr.begin() + endIdx);
reverse(arr.begin() + endIdx, arr.end());
}
int main() {
vector<int> arr = {3, 5, 1, -4, 8, 0, -2, 9, 12, 7, -6, 2};
sortArray(arr);
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Вас заинтересует
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
2 года назад
2 года назад
7 лет назад