Выводится лишнее число через printf

void HA_tabfun(double a, double b, int N, int i){
    double h = fabs((a - b)/N);
    cout << "----------------" << endl;
    cout << "   x" << "    :    " << "y" << endl;
    cout << "----------------" << endl;
    for (i = 1; i <= N + 1; i++) {
        cout << "   " << printf("%.*f", 5, a) << "    :    " << HA_f(a) << endl;
        a = a + h;
    }
    cout << "----------------" << endl;

}

При вызове функции получается: введите сюда описание изображения

Как избавиться от семерки?


Ответы (1 шт):

Автор решения: Никита Самоуков

7 появляется от того, что это результат вызова printf, 7 символов напечаталось.

Можно так убрать:

cout << "   ";
printf("%.*f", 5, a);
cout << "    :    " << HA_f(a) << endl;
→ Ссылка