#include <iostream>
#include <limits>
using namespace std;
template<class T>
T input(const char* const msg)
{
while(true)
{
T res;
cout<<msg;
cin>>res;
if(cin.fail())
{
cout<<"Ошибка ввода"<<endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
}
else
{
cin.ignore(numeric_limits<streamsize>::max(),'\n');
return res;
}
}
}
int main()
{
// Минимально допустимая точность
const double MinEps=1.0/numeric_limits<unsigned __int64>::max();
setlocale(LC_ALL,"russian");
double E;
while(true)
{
E=input<double>("Введите точность E:");
E=abs(E);
if(E>MinEps)break;
cout<<"Слишком маленькая точность для расчета"<<endl;
}
double CurrElement=1e300;
double sum=0;
unsigned int n=1;
for(;n<0xFFFFFFFF&&abs(CurrElement)>E;n++)
{
CurrElement=pow((double)n,3.0)/pow(3.0,(double)(n)-3.0);
sum+= CurrElement;
}
cout<<"Просуммированно элементов: "<<n-1<<endl;
cout<<"Сумма:"<<sum<<endl;
system("PAUSE");
return 0;
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.