М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
antonshv313p012l5
antonshv313p012l5
27.02.2021 21:12 •  Информатика

Написать программу, запрашивующую у пользователя в бесконечном цикле число и выводящую среднее значение всех введённых ранее чисел.

Вывод в формате: "Среднее значение этих ... чисел равно ...". Среднее значение выводить с точностью до 5 десятичных знаков (т.е. до 1/100000).

Программа перестаёт работать или при вводе символа вместо числа, или при истечении 1 минуты с момента ввода первого числа

👇
Ответ:
12235110spl
12235110spl
27.02.2021

Примерно так

#include <iostream>

#include <chrono>

#include <ctime>    

int main()

{

   auto start = std::chrono::system_clock::now();

   auto end = std::chrono::system_clock::now();

   bool Cycle = true;

   double SredSum=0;

   std::time_t end_time;

   double Entered = 0, count = 0;

   setlocale(LC_ALL, "Russian");

   std::cout.precision(5);

   std::chrono::duration<double> elapsed_seconds = end - start;

   do {

       std::cin >> Entered;

       if (std::cin.fail()){

           Cycle = false;

           break;

       }

       end = std::chrono::system_clock::now();

       elapsed_seconds = end - start;

       

       SredSum = ((SredSum * count) + Entered) / (count + 1.0);

       count++;

       std::cout << "Среднее значение этих " << count << " чисел равно " << SredSum << std::endl;

       if (elapsed_seconds.count() > 60) { Cycle = false; }

   } while (Cycle);

}


Написать программу, запрашивующую у пользователя в бесконечном цикле число и выводящую среднее значе
4,4(25 оценок)
Ответ:
lionkeepo
lionkeepo
27.02.2021

#include <iostream>

#include <ctime>

using namespace std;

double running_avg(double i);

void main()

{

setlocale(LC_ALL, "RU");//русский язык

clock_t t1, t2;

t1 = clock() / 1000;//начало отсчета(в секундах)

double num;

while (true)

{

 t2 = clock() / 1000;

 cout << "Введите значение (для выхода введите любой знак или дождитесь 60 секунд от запуска программы)\n";

 if (!(cin >> num) || (t2 - t1 > 60)) break;//конец отсчета  

 cout << "Среднее значение всех чисел равно: " << running_avg(num) << "\n\n\n";

}

}

double  running_avg(double i) {

static double sum = 0;//при каждом новом вызове функции значения sum и count сохраняются

static int count = 0;

sum = sum + i;

count++;

return sum / count;//среднее значение

}  

/*cpp-файл в закрепе*/

 

4,7(86 оценок)
Открыть все ответы
Ответ:
danikmy12
danikmy12
27.02.2021

---PascalABC.NET 3.6.2 ---

begin

 //Создадим переменную A типа List<integer>, задав в конструкторе ёмкость в 20 элементов;

 var A : List<integer> := New List<integer>(20);  

 A.AddRange(SeqGen(A.Capacity, p -> Random(-10, 10))); //Запишем в наш List последовательность, длина которой равна List<T>.Capacity, и каждый элемент в которой генерируется случайно в диапазоне [-10; 10]

 A.Println; //Распечатаем в консоль содержимое A

end.

Объяснение:

Заместо стандартного паскалевского массива использован класс List<T> библиотеки .NET Framework, являющийся аналогом обычного массива, но имеющий большее число методов для работы с ним.

А вообще, программа может быть написана в 1 строку:

begin

 ArrRandom(20, -10, 10).Println;

end.

4,5(96 оценок)
Ответ:
shornikauvladi
shornikauvladi
27.02.2021

---PascalABC.NET 3.6.2 ---

begin

 //Создадим переменную A типа List<integer>, задав в конструкторе ёмкость в 20 элементов;

 var A : List<integer> := New List<integer>(20);  

 A.AddRange(SeqGen(A.Capacity, p -> Random(-10, 10))); //Запишем в наш List последовательность, длина которой равна List<T>.Capacity, и каждый элемент в которой генерируется случайно в диапазоне [-10; 10]

 A.Println; //Распечатаем в консоль содержимое A

end.

Объяснение:

Заместо стандартного паскалевского массива использован класс List<T> библиотеки .NET Framework, являющийся аналогом обычного массива, но имеющий большее число методов для работы с ним.

А вообще, программа может быть написана в 1 строку:

begin

 ArrRandom(20, -10, 10).Println;

end.

4,4(12 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ