Протабулировать функцию
Протабулировать функцию y=1-cos(2*x)/2 на промежутке от a до b, разбив его на 30 частей.
#include <windows.h>
#include<math.h>
#include <stdio.h>
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int a, b, t, i;
double y;
printf("Enter a=");
scanf_s("%i", &a);
printf("Enter b=");
scanf_s("%i", &b);
int sh = (b - a) / 30;
printf("%i", sh);
printf("\n");
for (i = a; i <= b; i += sh)
{
y = 1 - cos(2 * i) / 2;
printf("\nX=%i", i);
printf("\tF(x)=%3.3f", y);
}
}
Ответы (1 шт):
Автор решения: Ildar
→ Ссылка
шаг h определяем следующим образом h = (b - a) / 'на сколько частей делим' далее в цикле вызываем f с шагом h от a до b
#include <iostream>
double f(double x)
{
return 1 - cos(2 * x) / 2;
}
int main()
{
double a = 15;
double b = 30;
double h = (b - a) / 30;
double eps = 1e-6;
b += h / 2;
for (double x = a; x < b + eps; x += h) {
std::cout << "f(" << x << ")" << '\t' << "= " << f(x) << '\n';
}
return 0;
}
eps опционально установите самостоятельно