C++ ответ выводит Inf, а не число
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include "stdio.h"
using namespace std;
int main()
{
double x, n, a, b, c;
x = 0.50;
b = 1.0;
a = 0.50;
c = (b - a)/9;
n = 9;
while (n >= 0) {
cout << n << " " << x + c * n << " " << (sin(0.5 * M_PI * (x + c * n)) + pow(x, 1 / 5.0)) / (sqrt(abs(cos(M_PI * (x + c * n)) + 1.0)) * pow(M_E, sqrt(x + c * n)));
cout << endl;
--n;
}
}
x находится в пределе [0.5, 1.0]
n = 10
то есть таблица должна выводиться в 10 строках
функция для решения задачи:
sin(0.5 * M_PI * x) + pow(x, 1 / 5.0)) / (sqrt(abs(cos(M_PI * x) + 1.0)) * pow(M_E, sqrt(x))
должно выводиться n, x, ответ функции.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
При первом выполнении чему равно (x + c * n)? Единице.
Чему, соответственно, равен cos(M_PI * (x + c * n))? Минус единице.
Минус единица плюс единица равно нулю.
На который вы и пытаетесь делить.
Еще вопросы есть? :)
P.S. Если даже не умеете работать с отладчиком, можно добавить пару инструкций вывода:
cout << "(x + c * n) = " << (x + c * n) << endl;
cout << "cos(M_PI * (x + c * n)) = " << cos(M_PI * (x + c * n)) << endl;
и посмотреть, что происходит...