Z
zasw
C++:
int i = 124; int j = 0; "c" и "y" это float с диапазоном от 1 до 2;
x это long double от 0.01 до 100;
tempsum - long double; cr - long double;
--------------------------------------------------------------------------
for(; i>0; i--, j++)
{ cr = *c - (stp1.mass[j].y);
correctmul(&cr, &csp, stp1);
tempsum += (cr * stp1.mass[j].x * 1000);} //<--- overflow
в указанной строке происходит переполнение
мненужно только 5 знаков после запятой в самом крайнем случае.
с этой ошибкой я довольно часто сталкиваюсь так что мне нужно както решить ее основательно. раньше я просто увеличивал точность(double-> long double).
я разложил цикл получилось что переполнение вызывает
вот это выражение
stp1.mass[j].x * 1000;