Протабулировать функцию у = fi+8(x) на отрезке [-i; i] с шагом h = 0,1i, где i - номер варианта. результаты вычислений вывести на экран в виде таблицы пар чисел х, у. выполнить дополнительно своего i-го варианта поиска данных по некоторому критерию (признаку). если искомых данных нет, вывести об этом сообщение.
17. вычислить сумму квадратов и произведение всех значений функции у, для которых справедливо неравенство 2,5 < у < 5.
21. найти среднее арифметическое тех значений функции у, для которых выполняются неравенства у < 1 или у > 8.
#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-файл в закрепе*/
Примерно так
#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);
}