Порахувати кількість заводів, де
середній оклад по заводу вище середнього по всіх заводам.
С++
Ответы
З тебе дякую і 5 зірок :).
Відповідь:
Для розв'язання цієї задачі, ми можемо скористатись двома масивами - масивом з середніми зарплатами по кожному заводу та масивом, що містить загальну кількість заводів.
Ось приклад коду на мові C++, який розв'язує цю задачу:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Введіть кількість заводів: ";
cin >> n;
double avg_wages[n];
int total_wages = 0;
for (int i = 0; i < n; i++) {
cout << "Введіть середній оклад для заводу " << i + 1 << ": ";
cin >> avg_wages[i];
total_wages += avg_wages[i];
}
double overall_avg_wages = static_cast<double>(total_wages) / n;
int num_above_avg = 0;
for (int i = 0; i < n; i++) {
if (avg_wages[i] > overall_avg_wages) {
num_above_avg++;
}
}
cout << "Кількість заводів, де середній оклад вище середнього по всіх заводам: " << num_above_avg << endl;
return 0;
}
Пояснення:
В першому циклі for, ми заповнюємо масив avg_wages з середніми зарплатами по кожному заводу, а також обчислюємо загальну суму зарплат для подальшого обчислення середнього значення. Потім, ми обчислюємо середнє значення зарплат по всіх заводах у змінній overall_avg_wages. У другому циклі for, ми проходимося по кожному елементу масиву avg_wages та перевіряємо, чи більший він за overall_avg_wages. Якщо так, то збільшуємо лічильник num_above_avg. Нарешті, ми виводимо значення num_above_avg, що вказує кількість заводів, де середній оклад вище середнього по всіх заводах.
Ця програма працює за допомогою масивів. Можливо, існують більш ефективні методи розв'язання цієї задачі з використанням стандартних бібліотек або баз даних, в залежності від контексту.