ВУЗ:
Составители:
Рубрика:
85
Пример. Реализацию алгоритмов, как правило, оформляют в виде
функций, а в функцию main() помещают только вызовы этих функций.
Следующий код является такой модификацией предыдущего примера.
// Метод итераций
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const int NMax=1000; // Макс. число шагов метода
// Прототипы функций:
double g(double);
double iterat(double , double , int * );
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "rus"); // русификация консоли
double y;
int n;
y=iterat(2.5,1.e-5,&n);// Вызов функции
cout<<"\nЗа "<<n<<
" итераций найдено прибл. решение = "<<y<<"\n";
return 0;
}
double g(double x) // Определение функции
{
// Значение правой части x=g(x)
return - x * x * x * 0.04 + 1.08 * x + 0.2;
}
double iterat(double x,double e, int * k)
{
double y;
double d;
// Метод итерации:
*k =1;
do
{
y = g(x);
d = fabs(y-x);
(*k)++;
x = y;
} while ((d>e) && ((*k)<NMax));
Пример. Реализацию алгоритмов, как правило, оформляют в виде функций, а в функцию main() помещают только вызовы этих функций. Следующий код является такой модификацией предыдущего примера. // Метод итераций // #include "stdafx.h" #include#include using namespace std; const int NMax=1000; // Макс. число шагов метода // Прототипы функций: double g(double); double iterat(double , double , int * ); int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_CTYPE, "rus"); // русификация консоли double y; int n; y=iterat(2.5,1.e-5,&n);// Вызов функции cout<<"\nЗа "< e) && ((*k)
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »
