//Zadanie na klasach vektora
//Program do obliczeń na wektorach
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace::std;
class Wektor
{
public:
Wektor(double x=0.0, double y=0.0);
double getX();
double getY();
double setX(double wartX);
double setY(double wartY);
double DlugoscWektora(void);
double operator* (Wektor& Wektor1);
bool operator> (Wektor& Wektor2);
double operator+ (Wektor& Wektor3);
friend ostream& operator<< (ostream& s, Wektor& Wektor4);
bool Wektor::operator== (Wektor& Wektor6);
private:
double DlugoscX;
double DlugoscY;
};
double Wektor::getX()
{return DlugoscX;}
double Wektor::setX(double wartX)
{DlugoscX=wartX;}
double Wektor::getY()
{return DlugoscY;}
double Wektor::setY(double wartY)
{DlugoscY=wartY;}
Wektor::Wektor(double x, double y)
{DlugoscX=x;
DlugoscY=y;}
double Wektor::DlugoscWektora()
{return sqrt(pow(getX(),2)+pow(getY(),2));}
double Wektor::operator* (Wektor& Wektor1)
{ return this->getX()*Wektor1.getX()+this->getY()*Wektor1.getY();}
bool Wektor::operator> (Wektor& Wektor2)
{return this->DlugoscWektora()>Wektor2.DlugoscWektora();}
bool Wektor::operator== (Wektor& Wektor6)
{
if (this->DlugoscWektora()== Wektor6.DlugoscWektora())
{return true;}
else
{return false;}
}
ostream& operator<< (ostream& s, Wektor& Wektor4)
{return s<<"("<<Wektor4.getX()<<","<<Wektor4.getY()<<")"<<endl;}
double Wektor::operator+ (Wektor& Wektor3)
{return (this->DlugoscX+Wektor3.DlugoscX, this->DlugoscY+Wektor3.DlugoscY);
}
int main()
{
double wartX;
double wartY;
Wektor wek1(2.0,3.0);
Wektor wek2(6.0,7.0);
Wektor wek3;
wek3=(wek1+wek2);
cout<<"Suma wektorow: " <<wek3<<endl;
cout<<"Iloczyn skalarny: "<<wek1 * wek2<<endl<<endl;
cout<<"Wspolrzedne wektora 1: "<<wek1;
cout<<"Dlugosc wektora1 wynosi: "<<wek1.DlugoscWektora()<<endl<<endl;
wek1.setX(wartX);
wek1.setY(wartY);
cout<<"Wspolrzedne wektora 2: "<<wek2;
cout<<"Dlugosc wektora2 wynosi: "<<wek2.DlugoscWektora()<<endl<<endl;
wek2.setX(wartX);
wek2.setY(wartY);
if (wek1==wek2)
{cout<<"Wektory sa rowne!"<<endl;}
if (wek1 > wek2)
{cout<<"Wektor1 jest wiekszy!"<<endl;}
else
{cout<<"Wektor2 jest wiekszy!"<<endl<<endl;}
system("PAUSE");
return EXIT_SUCCESS;
}
Zadanie pana Wojciecha
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
//Napisz klasę WEKTOR, która będzie miała metodę:
//a) pobierającą współrzędne wektora
//b) wyświetlającą współrz. wektora np. [x,y]
//c) obliczającą długość wektora
//using namespace std;
class wektor
{
private:
double x,y;
public:
void ustawx (double wx);
void ustawy (double wy);
double dlugosc ();
void wyswietl ();
friend wektor sum (wektor a, wektor b);
friend wektor mnoz ( wektor a, double b);
};
void wektor::ustawx (double wx)
{
x=wx;
}
void wektor::ustawy (double wy)
{
y=wy;
}
double wektor::dlugosc()
{
double dl;
dl=sqrt(x*x+y+y);
return dl;
}
void wektor::wyswietl ()
{
cout<< " wspolzedna x= "<<x<<" wspolzedna y= "<<y<<endl;
}
wektor sum (wektor a, wektor b)
{
wektor rob;
rob.x=a.x+b.x;
rob.y=a.y+b.y;
return rob;
}
wektor mnoz (wektor a, double b)
{
wektor rob;
rob.x.=a.x*b;
rob.y=a.y*b;
return rob;
}
int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}