Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Kvadrat {
- protected:
- double a;
- public:
- Kvadrat(double a=0.0)
- {
- this->a=a;
- }
- Kvadrat(const Kvadrat &k)
- {
- this->a=k.a;
- }
- double perimetar() {
- double L=0.0;
- L = 4*a;
- return L;
- }
- double plostina()
- {
- double P=0.0;
- P=a*a;
- return P;
- }
- void pecati()
- {
- cout<<"Kvadrat so dolzina a="<<a<<" ima plostina P="<<plostina()<<" i perimetar L="<<perimetar()<<endl;
- }
- };
- class Pravoagolnik : public Kvadrat {
- private:
- double x;
- double y;
- public:
- Pravoagolnik(){};
- Pravoagolnik (const Kvadrat &k, double x, double y) : Kvadrat(k) {
- this->x=x+a;
- this->y=y+a;
- }
- Pravoagolnik (const Pravoagolnik &p)
- {
- this->x=p.x;
- this->y=p.y;
- }
- double perimetar()
- {
- double L=0.0;
- L=((2*x)+(2*y));
- return L;
- }
- double plostina()
- {
- double P=0.0;
- P=x*y;
- return P;
- }
- void pecati()
- {
- if(x!=y)
- cout<<"Pravoagolnik so strani: "<<x<<" i "<<y<<" ima plostina P="<<plostina()<<" i perimetar L="<<perimetar()<<endl;
- else{
- if(x==y)
- {
- a=(x+y)/2;
- Kvadrat::pecati();
- }
- }
- }
- };
- int main() {
- int n;
- double a,x,y;
- Kvadrat * kvadrati;
- Pravoagolnik * pravoagolnici;
- cin>>n;
- kvadrati = new Kvadrat [n];
- pravoagolnici = new Pravoagolnik [n];
- for (int i=0;i<n;i++){
- cin>>a;
- kvadrati[i] = Kvadrat(a);
- }
- for (int i=0;i<n;i++){
- cin>>x>>y;
- pravoagolnici[i]=Pravoagolnik(kvadrati[i],x,y);
- }
- int testCase;
- cin>>testCase;
- if (testCase==1){
- cout<<"===Testiranje na klasata Kvadrat==="<<endl;
- for (int i=0;i<n;i++)
- kvadrati[i].pecati();
- }
- else {
- cout<<"===Testiranje na klasata Pravoagolnik==="<<endl;
- for (int i=0;i<n;i++)
- pravoagolnici[i].pecati();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement