
Меньше среднего.с++.8 класс.Срочно Дан массив A из N элементов. Требуется найти и вывести
количество элементов, значение которых меньше среднего арифметического значения элементов массива. Input Со стандартного устройства ввода в первой строке вводится целое число N (1 <= N <=1000) — количество элементов массива. Во второй строке через пробел вводятся N целых чисел - элементы массива A (-1000 <= A i <= 1000). Output Требуется вывести целое число - количество искомых элементов. Выводить в конце строки пробел не нужно. Sample Input 5 2 4 6 10 8 Sample Output 2 Примечание Среднеe арифметическое значение элементов массива = (Сумма значений всех элементов массива) / (Количество элементов в массиве). В примере среднеe арифметическое значение = (2 + 4 + 6 + 10 + 8) / 5 = 6.

Ответы на вопрос

Ответ:
Здесь А - массив, N - количество чисел в массиве, sum - сумма элементов массива, count - количество искомых элементов, sum * 1.0 / N - это и есть среднее арифметическое, причем если здесь не умножать на 1.0, то результат будет округлен и программа будет уже работать неправильно, а если умножать, то все хорошо, потому что sum * 1.0 / N становится вещественным числом
Объяснение:
Здесь можно использовать динамику(чтобы не занимать место в памяти статическим массивом):
#include <iostream>
using namespace std;
int main()
{
int N, sum=0, count=0;
cin >> N;
int* A = new int[N];
for (int i = 0; i < N; i++) {
cin >> A[i];
sum += A[i];
}
for (int i = 0; i < N; i++) if (A[i] < (sum * 1.0 / N)) count++;
cout << count;
delete[] A;
}
Но если динамика еще не изучена, то:
#include <iostream>
using namespace std;
int main()
{
int N, sum=0, count=0, A[1000];
cin >> N;
for (int i = 0; i < N; i++) {
cin >> A[i];
sum += A[i];
}
for (int i = 0; i < N; i++) if (A[i] < (sum * 1.0 / N)) count++;
cout << count;
}



Для решения этой задачи вам потребуется написать программу на языке C++. Вот пример решения этой задачи:
cpp#include <iostream>
int main() {
int N;
std::cin >> N;
int sum = 0;
int count = 0;
for (int i = 0; i < N; i++) {
int num;
std::cin >> num;
sum += num;
}
double average = static_cast<double>(sum) / N;
for (int i = 0; i < N; i++) {
int num;
std::cin >> num;
if (num < average) {
count++;
}
}
std::cout << count;
return 0;
}
Эта программа сначала считывает количество элементов N, затем считывает элементы массива, вычисляет сумму всех элементов и среднее значение. Затем она проходит по массиву еще раз и подсчитывает количество элементов, которые меньше среднего значения. Наконец, программа выводит количество таких элементов.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili