ТЕРМІНОВО!!!!!!!!!
С/С++
Написати програму з функціями, яка:
а) знаходить середнє арифметичне негативних елементів списку Р;
б) видаляє зі списку Р значення менші, заданого користувачем;
в) визначає кількість елементів у списку Р.
Ответы
Відповідь:#include <iostream>
#include <list>
using namespace std;
// Функція для знаходження середнього арифметичного негативних елементів списку
double findAverageNegative(list<int> &lst) {
double sum = 0.0;
int count = 0;
for (auto it = lst.begin(); it != lst.end(); ++it) {
if (*it < 0) {
sum += *it;
count++;
}
}
return (count > 0) ? (sum / count) : 0.0;
}
// Функція для видалення зі списку значень менших, ніж задано користувачем
void removeLessThan(list<int> &lst, int val) {
lst.remove_if([val](int x) { return x < val; });
}
// Функція для підрахунку кількості елементів у списку
int countElements(list<int> &lst) {
return lst.size();
}
int main() {
list<int> myList {1, -2, 3, 4, -5, 6, -7, 8, -9, 10};
// a) Знаходимо середнє арифметичне негативних елементів списку
double avg = findAverageNegative(myList);
cout << "Середнє арифметичне негативних елементів: " << avg << endl;
// б) Видаляємо зі списку значення менші, ніж задано користувачем
int val;
cout << "Введіть значення: ";
cin >> val;
removeLessThan(myList, val);
// в) Визначаємо кількість елементів у списку
int count = countElements(myList);
cout << "Кількість елементів у списку: " << count << endl;
return 0;
}
Пояснення: