Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: KernelPanic (27.05.2012 в 16:06) Так и не понял классов фигня какая-то получается :(
#include <iostream> #include <math.h> using namespace std; class vec1 { public: double dlina(double a, double b){ return a=sqrt(pow(b,2)+pow(a,2));//вычисление длинны вектора } double print(double a, double b){ cout<<"coordinata 1="<<a<<endl; cout<<"coordinata 2="<<b<<endl; } }; class vec2:public vec1 { double cx, cy; public: double dlina(double a, double b){ return a=sqrt(pow(b,2)+pow(a,2));//вычисление длинны вектора } double chislo(double a, double b, double ca) { cx=ca*a; cy=ca*b; cout<<"Proizvedenie A na chislo="<<endl; cout<<cx<<endl; cout<<cy<<endl; } double scal(double a,double b,double e,double f) { double ab; ab=a*e+b*f; return ab; } }; main() { cout<<"Vvedite chislo vibrannogo puncta, najmite enter"<<endl; cout<<"1. dlinna vectora"<<endl<<"2. Umnojenie na chislo"<<endl<<"3. scalar proizved vectorov"<<endl<<"4. slojenie vectorov"<<endl<<"5. exit"<<endl; int sw; cin>>sw; switch(sw) { case 1: //Длинна вектора A { double a,b,d; cout<<"Vector A="<<endl; cin>>a; cin>>b; vec1 m; d=m.dlina(a,b);//вызывается первый метод cout<<"Dlina A="<<d<<endl; m.print(a,b); return 0; } case 2://умножение вектора на число { double a,b,ca; cout<<"Vector A="<<endl; cin>>a; cin>>b; cout<<"Chislo="<<endl; cin>>ca; vec2 n; n.chislo(a,b,ca); return 0; } case 3:// Скалярное произведение векторов { double a,b; cout<<"Vector A="<<endl; cin>>a; cin>>b; cout<<"vector B="<<endl; double e, f; cin>>e; cin>>f; vec2 n; double ab; ab=n.scal(a,b,e,f); cout<<"proizvedenie="<<ab<<endl; return 0; } case 4://сложение векторов { cout<<"Vector A="<<endl; double a,b; cin>>a; cin>>b; cout<<"vector B="<<endl; double e, f; cin>>e; cin>>f; if(a==e||b==f) { double ab; vec2 n; ab=n.scal(a,b,e,f); double d,t; d=n.dlina(a,b);//Длина вектора A t=n.dlina(e,f);//Длина вектора B double alpha; alpha=(ab/d*t);//cos alpha м.у векторами cout<<"cos a="<<alpha<<endl; double summ; d=fabs(d); t=fabs(t); summ=pow(d,2)+pow(t,2)+2*d*t*alpha; summ=sqrt(summ); cout<<summ<<endl; } if(a==f||b==e) { double ab; vec2 n; ab=n.scal(a,b,e,f); double d,t; d=n.dlina(a,b);//Длина вектора A t=n.dlina(e,f);//Длина вектора B double alpha; alpha=(ab/d*t);//cos alpha м.у векторами double summ; d=fabs(d); t=fabs(t); summ=sqrt(pow(d,2)+pow(t,2)-2*d*t*alpha); cout<<summ<<endl; } else { cout<<"pri zadannih coordinatah slojenie nevozmojno"<<endl; } return 0; } case 5: { return 0; } } }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: