Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 89 стр.

UptoLike

Составители: 

89
iterat(g,2.5,1.e-5,&y,&n);// Вызов функции
cout<<"\ny= "<<y<<" n= "<<n<<"\n";
return 0;
}
double g(double x) // Определение функции
{
// Значение правой части x=g(x)
return - x * x * x * 0.04 + 1.08 * x + 0.2;
}
void iterat(double (*g)(double),double x,
double e, double * y, int * k)
{
double d;
// Метод итерации:
*k =1;
do
{
*y = g(x);
d = fabs(*y-x);
(*k)++;
x = *y;
} while ((d>e) && ((*k)<NMax));
}
Пример. Функция myoperator() способна выполнить любую
операцию с двумя целыми числами, эта операция задается третьим
параметром (см. также Прата С. Язык программирования C++. ).
int plus(int,int);
int minus (int,int);
int myoperator (int x, int y, int (*f)(int,int));
int main ()
{
int m,n;
m = myoperator(7, 5, plus);
cout<<"m= "<<m;
n = myoperator(20, m, minus);
cout<<" n= "<<n<<endl;
return 0;
}
int plus(int a, int b){
return (a+b);
}
int minus (int a, int b){
    iterat(g,2.5,1.e-5,&y,&n);// Вызов функции
     cout<<"\ny= "<e) && ((*k)