#include <iostream>
#include <cstdlib>
#include <cmath>
#define PI 3,141592
using namespace std;
class Prostokat;
class Punkt
{
public:
Punkt();
~Punkt();
void wyswietl();
bool czyWspolne(Prostokat *prostokat);
void setX(double);
void setY(double);
double getX();
double getY();
friend void ustawXY(Punkt*, double, double);
private:
double x;
double y;
};
class Prostokat
{
public:
Prostokat();
Prostokat(double, double, double, double);
~Prostokat();
double getSzer();
double getWys();
void setSzer(double);
void setWys(double);
private:
Punkt lewy_dolny;
double szerokosc;
double wysokosc;
};
class Kolo
{
public:
Kolo();
~Kolo();
bool czyStyczne(Kolo*);
void setR(int);
int getR();
private:
Punkt srodek;
int promien;
};
void ustawXY(Punkt*, double, double);
void pokazInfo(Prostokat*);
void pokazInfo(Kolo*);
double odlegloscPunktow(Punkt*, Punkt*);
int main()
{
Punkt p1;
Punkt p2;
Punkt p3;
ustawXY(&p1, 5, 2);
ustawXY(&p2, -7, -7);
ustawXY(&p3, 1.25, 2.5);
p1.wyswietl();
p2.wyswietl();
p3.wyswietl();
Prostokat prost1(13, 10, -8, -6);
system("pause");
return 0;
}
Kolo::Kolo()
{
srodek.setX(0);
srodek.setY(0);
setR(2);
}
Kolo::~Kolo()
{
}
bool Kolo::czyStyczne(Kolo* kolo)
{ //styczne wewnetrznie
if (odlegloscPunktow(&this->srodek, &kolo->srodek) == abs(this->getR - kolo->getR))
return true;
//styczne zewnetrznie
else if (odlegloscPunktow(&this->srodek, &kolo->srodek) == (this->getR + kolo->getR()))
return true;
else
return false;
}
void Kolo::setR(int promien)
{
this->promien = promien;
}
int Kolo::getR()
{
return promien;
}
Prostokat::Prostokat()
{
lewy_dolny.setX(0);
lewy_dolny.setY(0);
setSzer(5.0);
setWys(5.0);
}
Prostokat::Prostokat(double szer, double wys, double x, double y)
{
this->lewy_dolny.setX(x);
this->lewy_dolny.setY(y);
setSzer(szer);
setWys(wys);
}
Prostokat::~Prostokat()
{
}
double Prostokat::getSzer()
{
return szerokosc;
}
double Prostokat::getWys()
{
return wysokosc;
}
void Prostokat::setSzer(double szerokosc)
{
this->szerokosc = szerokosc;
}
void Prostokat::setWys(double wysokosc)
{
this->wysokosc = wysokosc;
}
Punkt::Punkt()
{
setX(0);
setY(0);
}
Punkt::~Punkt()
{
}
void Punkt::wyswietl()
{
cout << "X: " << getX() << endl;
cout << "Y: " << getY() << endl;
}
bool Punkt::czyWspolne(Prostokat *prostokat)
{
return false;
}
void Punkt::setX(double x)
{
this->x = x;
}
void Punkt::setY(double y)
{
this->y = y;
}
double Punkt::getX()
{
return x;
}
double Punkt::getY()
{
return y;
}
void ustawXY(Punkt* punkt, double x, double y)
{
punkt->setX(x);
punkt->setY(y);
}
void pokazInfo(Prostokat* prostokat)
{
cout << "X: ";
cout << "Y: ";
cout << "Pole: " << prostokat->getSzer() * prostokat->getWys() << endl;
}
void pokazInfo(Kolo* kolo)
{
cout << "X :";
cout << "Y: ";
cout << "R: " << kolo->getR() << endl;
cout << "Pole: " << PI * (kolo->getR() * kolo->getR());
cout << endl;
}
double odlegloscPunktow(Punkt* p1, Punkt* p2)
{
double d;
double x1 = p2->getX() - p1->getX();
double y1 = p2->getY() - p1->getY();
d = sqrt((x1 * x1) + (y1 * y1));
return d;
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}