Вопрос задан 08.07.2023 в 04:00. Предмет Информатика. Спрашивает Абрамчук Ігор.

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое

трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.
0 0
Перейти к ответам

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

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

#include <iostream>

#include <vector>

using namespace std;

int am_dig(int k){

   int res = 0;

   while(k > 0){

       res++;

       k /= 10;

   }

   return res;

}

double average(vector<double> a){

   double sum = 0;

   for(auto i: a)

       sum += i;

   return sum/a.size();

}

int main() {

   vector<double> a;

   double x = 1;

   while(x != 0){

       cin >> x;

       if(am_dig(x) == 3)

           a.push_back(x);

   }

   if(a.size() == 0)

       cout << "NO";

   else

       cout << average(a);

}

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

Конечно, вот пример программы на языке Python, которая решает данную задачу:

python
# Инициализация переменных для хранения суммы и количества трёхзначных чисел sum_of_numbers = 0 count_of_numbers = 0 # Ввод и обработка чисел while True: num = int(input("Введите натуральное число (для завершения введите 0): ")) if num == 0: break # Прекращаем ввод, если введен 0 if 100 <= num <= 999: # Проверяем, является ли число трёхзначным sum_of_numbers += num count_of_numbers += 1 # Проверка, были ли введены трёхзначные числа if count_of_numbers > 0: average = sum_of_numbers / count_of_numbers print("Среднее арифметическое трёхзначных чисел:", average) else: print("NO")

Программа будет запрашивать ввод чисел до тех пор, пока не будет введено число 0. Затем она проверит каждое введенное число на то, является ли оно трёхзначным, и если является, добавит его к сумме трёхзначных чисел. После завершения ввода, программа вычислит среднее арифметическое трёхзначных чисел и выведет его. Если трёхзначные числа отсутствуют, будет выведено "NO".

0 0

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

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

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

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