ВУЗ:
Составители:
Рубрика:
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)
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
