c++ срочна HEKP PLZZZZZ привет помогите plz зделат 2 простых программы на c++ для этих задач я думаю для вас это очен проста ЗАРАНЕЕ THANK задачи здес http://img230.imageshack.us/img230/6463/zadaciat1.jpg
Напиши нормально условие задачи. А то вопросов туева хуча. По 1-й задаче: 1) интервал для всех трех функций одинаков или [0.2; 2] только для первой, а для остальных требуется ввести 2) шаг везде одинаков или только для второй функции 1.2 3) что за бред, и во второй функции и в третьей у тебя x=0.9, такого не может быть
Если я правильно понял условия, то вот решение задачи №2: Code: #include <stdio.h> #include <conio.h> int main() { int n, S=0, i; printf("Input n: "); scanf("%d", &n); for(i=1; i<=(2*n); i++) { S=S+(i*(i+1)); } printf("S=%d", S); getch(); return 0; }
Попробовал вот тут сделать первую.., но че то запара (да и кстати просили же на С++, а не на С) Проблема скорее всего в последних строках, кароче не те функции выбирает..., подправьте, мне влом разбираться... Code: #include <iostream> #include <math.h> #include <conio.h> using namespace std; class Benzin { public: double x0, xk, dx; //***** интервал [x0; xk] и шаг dx public: virtual double func1 (double)=0; //***** 1-я виртуальная virtual double func2 (double)=0; //***** 2-я виртуальная virtual double func3 (double)=0; //***** 3-я виртуальная double tab1(); //***** функция табулирования №1 double tab2(); //***** функция табулирования №2 double tab3(); //***** функция табулирования №3 void input(); double cnt(double); void output(double, double); }; //***** double Benzin::tab1() { double x, y; for (x=x0; x<=xk; x+=dx) { y =func1(x); output(x,y); } return 0; } //***** double Benzin::tab2() { double x, y; for (x=x0; x<=xk; x+=dx) { y =func2(x); output(x,y); } return 0; } //***** double Benzin::tab3() { double x, y; for (x=x0; x<=xk; x+=dx) { y =func3(x); output(x,y); } return 0; } //***** Метод ввода значений интервала и шага void Benzin::input() { cout<<"Input\n\n"; cout<<"x0="; cin>>x0; cout<<"\n"; cout<<"xk="; cin>>xk; cout<<"\n"; cout<<"dx="; cin>>dx; cout<<"\n"; cout<<"Output:\n\n"; } //***** Метод условий double Benzin::cnt(double x) { double z; if (x<0.9) z=tab1(); if (x==0.9) z=tab2(); else z=tab3(); return 0; } //*****Метод вывода void Benzin::output(double x, double y) { cout<<"x= "<<x<<'\t'; cout<<"f("<<x<<")= "<<y<<'\n'; } //***** Производный класс class Proizv : public Benzin { //***** 1-я виртуальная virtual double func1 (double x) { double G1, G2, G3, G4; G1=x*x; G2=pow(G1,3)+(x*x); G3=sqrt(x+1); G4=G2/G3; return G4; } //***** 2-я виртуальная virtual double func2 (double x) { double G1, G2; G1=sqrt(x+1); G2=1./(pow(x,2)); return G2; } //***** 3-я виртуальная virtual double func3 (double x) { double G1, G2, G3, t=1.9; G1=cos(x); G2=pow(G1,2); G3=G1+(t*G2); return G3; } }; //MAIN void main() { Proizv S; S.input(); double r; // Здесь ошибка, и я это знаю, но как исправить... S.cnt(r); //вот с этим методом у меня возникает проблема!!! _getch(); }
Прогу исправил.., теперь все ок. Code: #include <iostream> #include <math.h> #include <conio.h> using namespace std; class Benzin { public: double x0, xk, dx; //***** интервал [x0; xk] и шаг dx public: virtual double func1 (double)=0; //***** 1-я виртуальная virtual double func2 (double)=0; //***** 2-я виртуальная virtual double func3 (double)=0; //***** 3-я виртуальная double tab(); //***** функция табулирования void input(); double cnt(double); void output(double, double); }; //***** Алгоритм табулирования (единый для всех функций) double Benzin::tab() { double x, y; for (x=x0; x<=xk; x+=dx) { y =cnt(x); output(x,y); } return 0; } //***** Метод ввода значений интервала и шага void Benzin::input() { cout<<"Input\n\n"; cout<<"x0="; cin>>x0; cout<<"\n"; cout<<"xk="; cin>>xk; cout<<"\n"; cout<<"dx="; cin>>dx; cout<<"\n"; cout<<"Output:\n\n"; } //***** Метод условий double Benzin::cnt(double x) { double z; if ( x < 0.9 ) z=func1(x); else if ( x > 0.9 ) z=func3(x); else z=func2(x); return z; } //*****Метод вывода void Benzin::output(double x, double y) { cout<<"x= "<<x<<'\t'; cout<<"f("<<x<<")= "<<y<<'\n'; } //***** Производный класс class Proizv : public Benzin { //***** 1-я виртуальная virtual double func1 (double x) { double G1, G2, G3, G4; G1=x*x; G2=pow(G1,3)+(x*x); G3=sqrt(x+1); G4=G2/G3; return G4; } //***** 2-я виртуальная virtual double func2 (double x) { double G1, G2; G1=sqrt(x+1); G2=1./(pow(x,2)); return G2; } //***** 3-я виртуальная virtual double func3 (double x) { double G1, G2, G3, t=1.9; G1=cos(x); G2=pow(G1,2); G3=G1+(t*G2); return G3; } }; //MAIN void main() { Proizv K; K.input(); K.tab(); _getch(); }