Вопрос задан 21.06.2023 в 16:18. Предмет Информатика. Спрашивает Гурна Мария.

Меньше среднего.с++.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.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шилова Диана.

Ответ:

Здесь А - массив, 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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам потребуется написать программу на языке 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, затем считывает элементы массива, вычисляет сумму всех элементов и среднее значение. Затем она проходит по массиву еще раз и подсчитывает количество элементов, которые меньше среднего значения. Наконец, программа выводит количество таких элементов.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос