Не работает проверка в блоке if. Деление на ноль
При x = 0 t уходит в длинное отрицательное значение, что не может происходить, поскольку есть проверка x != 0.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <Windows.h>
#include <math.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float x, t, a, xn, xk, DeltaX;
float P = 1, k = 0, S = 0;
printf("Введіть значення a: ");
scanf("%f", &a);
printf("Введіть значення xn: ");
scanf("%f", &xn);
printf("Введіть значення xk: ");
scanf("%f", &xk);
printf("Введіть значення DeltaX: ");
scanf("%f", &DeltaX);
printf("\n");
for (x = xn; x < xk; x += DeltaX)
{
if ( a * x + 1 > 0 && x != 0)
{
t = log(a*x+1) / pow(x,2);
S += t;
if (t < 1)
k++;
if (t > 0)
P *= t;
printf("x = %.3f\tt = %.3f\n", x,t);
}
else
printf("x = %.3f\tt = no\n", x);
}
printf("k = %.3f\tP = %.3f\tS = %.3f\n", k,P,S);
}

