Скачиваний:
17
Добавлен:
01.05.2014
Размер:
1.37 Кб
Скачать
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>

extern double F(double);

double ITER(double X0,double Eps,int &N)
{
  if (Eps<=0.0) {puts("ЌҐўҐа­®Ґ § ¤ ­ЁҐ в®з­®бвЁ\n");exit (1);}
  double X1=F(X0);
  double X2=F(X1);
  N = 2;
  while( (X1 - X2)*(X1 - X2) > fabs((2*X1-X0-X2)*Eps) )
  {
	X0 = X1;
	X1 = X2;
	X2 = F(X1);
        N++;
  }
   return(X2);
}


//------------------------------------------------------------------------
double Round (double X,double Delta)
{
 if (Delta<=1E-9) {puts("ЌҐўҐа­®Ґ § ¤ ­ЁҐ в®з­®бвЁ ®ЄагЈ«Ґ­Ёп\n");exit(1);}
 if (X>0.0) return (Delta*(long((X/Delta)+0.5)));
    else    return (Delta*(long((X/Delta)-0.5)));
}
//-------------------------------------------------------------------------
//-------------------------- End of module --------------------------------
double c, d;

double F(double x)
{
	return atan(1/x);
}
//------------------------------------------------------------------------
void main()
{
	double delta, X0, Eps;
	cout<<"\nX0 - ­ з «м­®Ґ ЇаЁЎ«Ё¦Ґ­ЁҐ Є®а­п: ";
	cin>>X0;
	cout<<"\n‚ўҐ¤ЁвҐ Є®нддЁжЁҐ­в в®з­®бвЁ ўлзЁб«Ґ­Ё©: ";
	cin>>Eps;
	cout<<"\n‚ўҐ¤ЁвҐ Є®нддЁжЁҐ­в в®з­®бвЁ ®ЄагЈ«Ґ­Ёп: ";
	cin>>delta;
	double x;
	int k;
	x=HORDA(X0,Eps,k);
	x=Round(x,delta);
	cout<<"\nx= "<<x;
	cout<<"\nЉ®«ЁзҐбвў® и Ј®ў ЇаЁ ўлзЁб«Ґ­ЁЁ: "<<k;
}
Соседние файлы в папке Лабораторные работы №3_4_5_6