Почему программа начинает выводить много значений бесконечно) в чем проблема? код снизу (в уточнении) - вопрос №2388129

#include <iostream> #include <cmath> using namespace std; double x,eps,s,a,fac,coos; double n,j; int main() { cout<<«Vvedite x»<<endl; cin>>x; eps=0.01; s=0; n=0; a=x; cout<<«x»<<" "<<«cosx»<<" "<<«RYAD»<<endl; while ((fabs(a))>eps) { s=s+a; fac=0; if (n==0) { fac=1; for (j=1;(2*n);j++) fac=fac*j; } coos=cos(a); a=(pow((-1),n))*(pow(x,(2*n)))/fac; cout<<a<<" "<<coos<<" "<<s<<endl; n=n+1; } system(«pause»); }

Ответы

условие выхода из цикла while ((fabs(a))>eps) ни когда не достигается, то есть модуль «a» всегда больше 0,01

по идее в в «бесконечном выводе» первым значением в строке как раз и выводится «а» — какие там значения? (знак не важен с учетом abs)
27.03.17
могу предложить самостоятельный подробный анализ, но платно… от вас все равно потребуется хотя бы краткое пояснение цели алгоритма

если бесплатно — у вас вроде как один из членов формулы итерации — факториал? если так, то возможно я вижу ошибку и смогу кратко подсказать по ней. но без точного знания цели вычислений (формулы и нескольких формул) все равно это лишь предположение. вдруг все описанное запрограммировано ОСОЗНАННО и ПРАВИЛЬНО… я же не знаю ваш замысел )))
27.03.17
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store