Замінити на значення мінімального елементу, елементи, які менше за середне арифметичне на с++
Ответы
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {2, 4, 6, 8, 10};
int min = v[0];
int sum = 0;
for (int i = 0; i < v.size(); i++) {
if (v[i] < min) { // знаходимо мінімальний елемент у векторі
min = v[i]; // записуємо його у змінну min
} // end if
sum += v[i]; // додаємо до суми кожен елемент вектора
} // end for
double avg = (double)sum / v.size(); // розраховуємо середнє арифметичне
for (int i = 0; i < v.size(); i++) { // проходимося по всьому вектору
if (v[i] < avg) { // якщо елемент < avg, тоді...
v[i] = min; // ...заміняємо go na min
} // end if
} // end for
cout << "Result: " << endl;
for (int i : v) { //виводимо результат
cout << i << " ";
} // end for
return 0; //Завдяки return 0, main() - void.
}
#include <iostream>
using namespace std;
void checked(double arr[], int n) {
double min, sum = 0, middle = 0;
cout << "Введите "<< 1 << " элемент массива";
cin >> arr[1];
min = arr[1];
for (int i = 2; i<= n; i++) {
cout << "Введите "<< i << " элемент массива";
cin >> arr[i];
if (arr[i]<min) {
min = arr[i];
}
sum += arr[i];
middle = sum / n;
}
for (int j = 1; j<= n; j++) {
if (arr[j] < middle) {
arr[j] = min;
}
cout << arr[j] << endl;
}
}
int main() {
int n = 16;
double arr[n];
checked(arr, n);
return 0;
}