| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] метод простой итерации |
| Автор: Ruslan19900200 16.2.2010, 19:16 |
| Дорогие программисты) помогите сделать задачу методом простой итерации) задача сделана, и из этих кодов нужно написать задачу в один файл! Вот коды! желательно самым простым способом! Метод простой итерации Unit.cpp //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <fstream.h> #include <math.h> #include "function.h" //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { double a,b,eps; cout<<"Wwedite a,b,epsilon"<<endl; cin>>a>>b>>eps; for(int i=0; i<1; i++) { double mu = 1/getMaxFunc(a,b,eps); double q = getQ(a,b,mu,eps); double x,y = a; for(int i=0; i<10; i++) { x = y; y = func(x,mu); cout<<y<<endl;} } system("Pause"); return 0; } functions.cpp //--------------------------------------------------------------------------- #pragma hdrstop #include "function.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- double Func(double x) { return exp(1.5-4*cos(2*x))-25*x; } double dFunc(double x) { return 8*sin(2*x)*exp(1.5-4*cos(2*x))-25; } double func(double x, double mu) { return x-mu*Func(x); } double dfunc(double x, double mu) { return 1-mu*dFunc(x); } double getMaxFunc(double a, double b, double eps) { double max = a; double count = a; do { count += eps; if(dFunc(max)<dFunc(count)) max = count; } while(count<=b); return max; } double getQ(double a, double b, double mu, double eps) { double max = a; double count = a; do { count += eps; if(dfunc(max,mu)<dfunc(count,mu)) max = count; } while(count<=b); return max; } functions.h //--------------------------------------------------------------------------- #ifndef functionH #define functionH //--------------------------------------------------------------------------- #endif //--------------------------------------------------------------------------- #include <math.h> //--------------------------------------------------------------------------- double Func(double); double dFunc(double); double func(double,double); double dfunc(double,double); double getMaxFunc(double,double,double); double getQ(double,double,double,double); |
| Автор: Fortnox 16.2.2010, 20:50 | ||
|
| Автор: Ruslan19900200 16.2.2010, 21:38 |
| Спасибо) |