Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 1 proba.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- class figura
- {
- public:
- struct Punkt
- {
- double x,y;
- Punkt():x(0),y(0) {}
- Punkt(double x,double y):x(x),y(y) {}
- };
- vector < Punkt > lista;
- void wyswietl()
- {
- for(int i=0 ; i<lista.size(); i++)
- cout << lista[i].x << lista[i].y;
- }
- void obwod() //dodawanie wszystkich bokow
- {
- int OBW = 0;
- for(int i=0 ; i<lista.size(); i++)
- OBW += sqrt(pow(((lista[i+1].x) - (lista[i].x)),2) + pow((((lista[i+1].y) - (lista[i].y))),2));
- cout << OBW;
- }
- };
- class trojkat : public figura
- {
- public:
- trojkat()
- {
- lista.push_back(Punkt(1,2));
- lista.push_back(Punkt(10,8));
- lista.push_back(Punkt(0,11));
- }
- void pole_trojkata() //ze wzoru
- {
- cout << 0.5 * ((lista[1].x - lista[0].x)*(lista[2].y - lista[0].y) - (lista[1].y - lista[0].y)*(lista[2].x - lista[0].x));
- }
- };
- class czworokat : public figura
- {
- public:
- czworokat()
- {
- lista.push_back(Punkt(1,2));
- lista.push_back(Punkt(1,9));
- lista.push_back(Punkt(5,8));
- lista.push_back(Punkt(0,7));
- }
- };
- class osmiokat : public figura
- {
- public:
- osmiokat()
- {
- lista.push_back(Punkt(1,2));
- lista.push_back(Punkt(3,4));
- lista.push_back(Punkt(5,6));
- lista.push_back(Punkt(7,8));
- lista.push_back(Punkt(9,10));
- lista.push_back(Punkt(11,12));
- lista.push_back(Punkt(13,14));
- lista.push_back(Punkt(15,16));
- }
- void pole_osmiokat() //Shoelace formula
- {
- int B = 0;
- for (int i = 0 ; i < 7 ; i++)
- B += lista[i].x * lista[i+1].y;
- int C = 0;
- for (int i = 0 ; i < 7 ; i++)
- C -= lista[i+1].x * lista[i].y;
- int D = 0;
- D = lista[7].x * lista[0].y;
- int E = 0;
- E = lista[0].x * lista[7].y;
- cout << 0.5 * (B + C + D - E);
- }
- };
- class kwadrat : public czworokat
- {
- public:
- kwadrat()
- {
- lista.push_back(Punkt(1,3));
- lista.push_back(Punkt(3,3));
- lista.push_back(Punkt(3,1));
- lista.push_back(Punkt(1,1));
- }
- void pole_kwadratu() //bok do kwadratu
- {
- cout << pow((sqrt(pow((lista[1].x - lista[0].x),2) + pow((lista[1].y - lista[0].y),2))),2);
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- //list <trojkat> lista_trojkatow
- //list <trojkat> ::iterator it = lista_trojkatow.begin();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement