
#include <stdio.h>
#include <math.h>

double f(double x) {
    return 2* x * sin(x) - cos(x);
}

int main(void) {
    double a = 0.4;    // Начало отрезка
    double b = 1.0;    // Конец отрезка
    double h = 0.05;   // Шаг

    if (h <= 0.0 || a > b) {
        fprintf(stderr, "Неверные параметры табулирования\n");
        return 1;
    }

    int n = (int)round((b - a) / h); // количество шагов (приближённо)
    printf("    x\t\tf(x)\n");
    for (int i = 0; i <= n; ++i) {

    double x = a + i * h;
    double y = f(x);
    printf("%8.4f\t%12.6f\n", x, y);
}

// На случай округлений — вывести правую границу явно, если не выведена
double x_last = a + n * h;
if (fabs(x_last - b) > 1e-9) {
    double y = f(b);
    printf("%8.4f\t%12.6f\n", b, y);
}

return 0;
}