#include<math.h>
#include<iostream>
using namespace std;
double dlinna(double a, double b)
{
a=sqrt(pow(b,2)+pow(a,2));
return a;
}
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;
d=dlinna(a,b);
cout<<"Dlina A="<<d<<endl;
return 0;
}
case 2://умножение вектора на число
{
double a,b,c,ca,cb;
cout<<"Vector A="<<endl;
cin>>a;
cin>>b;
cout<<"vvedite chislo"<<endl;
cin>>c;
ca=c*a;
cb=c*b;
cout<<"Proizvedenie A na chislo="<<endl;
cout<<ca<<endl;
cout<<cb<<endl;
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;
double ab;
ab=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;
ab=scal(a,b,e,f);
double d,t;
d=dlinna(a,b);//Длина вектора A
t=dlinna(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;
ab=scal(a,b,e,f);
double d,t;
d=dlinna(a,b);//Длина вектора A
t=dlinna(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;
}
}
}
|