#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-файл в закрепе*/
---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.
---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.
Примерно так
#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);
}