cpp laksi zadaci
DESCRIPTION
Cpp Laksi ZadaciTRANSCRIPT
Prsten #ifndef FIGURA_H#define FIGURA_H
class Figura{ public: virtual double getObim() const=0; virtual double getPovrsina() const=0;};
#endif // FIGURA_H
#ifndef KRUG_H#define KRUG_H#include <math.h>#include "figura.h"
class Krug : public Figura{ protected: double r; public: Krug() { r=1; } Krug(double rr) { r=rr; } Krug(const Krug &k) { r=k.r; }
void setR(double rr) { r=rr; }
double getR() const { return r; }
double getObim() const { return 2*r*M_PI; } double getPovrsina() const { return r*r*M_PI; }};
#endif // KRUG_H
#ifndef PRSTEN_H#define PRSTEN_H
#include "krug.h"
class Prsten{ private: Krug mali_krug; Krug veliki_krug; public: Prsten() : mali_krug(3),veliki_krug(4) {}
Prsten(double x, double d) : mali_krug(x-d), veliki_krug(x) {} Prsten(const Prsten &p) : mali_krug(p.mali_krug), veliki_krug(p.veliki_krug) {}
double getPovrsina() const { return veliki_krug.getPovrsina()-mali_krug.getPovrsina(); }};
#endif // PRSTEN_H
#include <iostream>
#include "prsten.h"
using namespace std;
int main(){ Prsten p1(4,1); Prsten p2(p1);
cout<<"Povrsina drugog prstena je(sa parametrima): "<<p1.getPovrsina()<<endl; cout<<"Povrsina treceg prstena je(konstruktor kopije): "<<p2.getPovrsina()<<endl;}
Figura #ifndef FIGURA_H#define FIGURA_H
class Figura{ public: virtual double getObim() const=0; virtual double getPovrsina() const=0;};
#endif // FIGURA_H
#ifndef PRAVOUGAONIK_H#define PRAVOUGAONIK_H
#include "figura.h"
class Pravougaonik : public Figura
{ protected: double a,b; public: Pravougaonik() { a=1; b=2; } Pravougaonik(double aa, double bb) { a=aa; b=bb; } Pravougaonik(const Pravougaonik &p) { a=p.a; b=p.b; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; }
double getA() const { return a; } double getB() const { return b; }
double getObim() const { return 2*(a+b); } double getPovrsina() const { return a*b; }};
#endif // PRAVOUGAONIK_H
#ifndef KVADRAT_H#define KVADRAT_H
#include "pravougaonik.h"
class Kvadrat : public Pravougaonik{ public: Kvadrat(double a) : Pravougaonik(a,a) {} Kvadrat(const Kvadrat &p) : Pravougaonik((Pravougaonik)p) {}};
#endif // KVADRAT_H
#ifndef TROUGAO_H#define TROUGAO_H
#include "figura.h"#include <math.h>
class Trougao : public Figura{ protected: double a,b,c; public: Trougao() { a=1; b=1; c=1; } Trougao(double aa, double bb, double cc) { a=aa; b=bb; c=cc; } Trougao(const Trougao &t) { a=t.a; b=t.b; c=t.c; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; } void setC(double cc) { c=cc; }
double getA() const { return a; } double getB() const { return b; }
double getC() const { return c; }
double getObim() const { return a+b+c; } double getPovrsina() const { double s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c)); }};
#endif // TROUGAO_H
#ifndef JKTROUGAO_H#define JKTROUGAO_H
#include "trougao.h"
class JKTrougao : public Trougao { public: JKTrougao() : Trougao(1,2,2) {} JKTrougao(double aa, double bb) : Trougao(aa, bb, bb) {} JKTrougao(const JKTrougao &jkt) : Trougao(jkt.a, jkt.b, jkt.c){}};
#endif // JKTROUGAO_H
#ifndef OBLIK_H#define OBLIK_H
#include "jktrougao.h"#include "kvadrat.h"
class Oblik{ private: Kvadrat A; JKTrougao B; public: Oblik() : A(1), B(1,2) {} Oblik(double a, double b) : A(a), B(a,b) {} Oblik(const Oblik &o) : A(o.A), B(o.B) {}
double getObim() const { return 8*B.getB(); } double getPovrsina() const { return 4*B.getPovrsina()+A.getPovrsina(); }};
#endif // OBLIK_H
#include <iostream>
#include "oblik.h"
using namespace std;
int main()
{ Oblik o(3,5); cout<<"Obim oblika je: "<<o.getObim()<<endl; cout<<"Povrsina oblika je: "<<o.getPovrsina()<<endl; return 0;}
Figura #ifndef FIGURA_H#define FIGURA_H
class Figura{ public: virtual double getObim() const=0; virtual double getPovrsina() const=0;};
#endif // FIGURA_H
#ifndef PRAVOUGAONIK_H#define PRAVOUGAONIK_H
#include "figura.h"
class Pravougaonik : public Figura{ protected: double a,b; public: Pravougaonik() { a=1; b=2; } Pravougaonik(double aa, double bb) { a=aa; b=bb; } Pravougaonik(const Pravougaonik &p) { a=p.a; b=p.b; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; }
double getA() const { return a; } double getB() const { return b; }
double getObim() const { return 2*(a+b); } double getPovrsina() const { return a*b; }
};
#endif // PRAVOUGAONIK_H
#ifndef KVADRAT_H#define KVADRAT_H
#include "pravougaonik.h"
class Kvadrat : public Pravougaonik{ public: Kvadrat(double a) : Pravougaonik(a,a) {} Kvadrat(const Kvadrat &p) : Pravougaonik((Pravougaonik)p) {}};
#endif // KVADRAT_H
#ifndef KRUG_H#define KRUG_H#include <math.h>#include "figura.h"
class Krug : public Figura{ protected: double r; public: Krug() { r=1; } Krug(double rr) { r=rr; } Krug(const Krug &k) { r=k.r; }
void setR(double rr) { r=rr; }
double getR() const { return r; }
double getObim() const { return 2*r*M_PI; } double getPovrsina() const { return r*r*M_PI; }};
#endif // KRUG_H
#ifndef OBLIK_H#define OBLIK_H
#include "kvadrat.h"#include "Krug.h"
class Oblik{ private: Kvadrat A; Krug B; public: Oblik() : A(3), B(1) {} Oblik(double a, double r) : A(a), B(r) {} Oblik(const Oblik &o) : A(o.A), B(o.B) {} double getObim() const { return 3*A.getA()-2*B.getR()+B.getObim()/2; } double getPovrsina() const { return A.getPovrsina()/2-
B.getPovrsina()/2; }};
#endif // OBLIK_H
#include <iostream>#include "oblik.h"using namespace std;
int main(){ Oblik o(3,1); // napomena a>2*r cout<<"Obim: "<<o.getObim()<<endl; cout<<"Povrsina: "<<o.getPovrsina()<<endl; return 0;}
Figura #ifndef PRAVOUGAONIK_H#define PRAVOUGAONIK_H
class Pravougaonik{ protected: double a,b; public: Pravougaonik() { a=1; b=2; } Pravougaonik(double aa, double bb) { a=aa; b=bb; } Pravougaonik(const Pravougaonik &p) { a=p.a; b=p.b; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; }
double getA() const { return a; } double getB() const { return b; }
double getObim() const { return 2*(a+b); } double getPovrsina() const { return a*b; }};
#endif // PRAVOUGAONIK_H
#ifndef TROUGAO_H#define TROUGAO_H
#include <math.h>
class Trougao{ protected: double a,b,c; public: Trougao() { a=1; b=2; c=4; } Trougao(double aa, double bb, double cc) { a=aa; b=bb; c=cc; } Trougao(const Trougao &t) { a=t.a; b=t.b; c=t.c; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; } void setC(double cc) { c=cc; }
double getA() const { return a; } double getB() const { return b; } double getC() const { return c; }
double getObim() const { return a+b+c; } double getPovrsina() const { double s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c)); }};
#endif // TROUGAO_H
#ifndef TELOA_H#define TELOA_H
#include "pravougaonik.h"#include "trougao.h"
class TeloA{ private: Pravougaonik A; Pravougaonik A1; Pravougaonik A2; Pravougaonik A3; Trougao B; public: TeloA() : A(1,2),A1(1,3),A2(4,3), A3(3,2), B(1,2,4) {} TeloA(double a, double b, double c, double h, double d) : A(a,h), A1(a,d), A2(c,d), A3(d,h) ,B(a,b,c) {} TeloA(const TeloA &ta) : A(ta.A), A1(ta.A1), A2(ta.A2), A3(ta.A3), B(ta.B) {}
double getPovrsina() const { return 2*A.getPovrsina()+2*A3.getPovrsina()+A1.getPovrsina()+2*A2.getPovrsina()+2*B.getPovrsina(); } double getZapremina() const { return A1.getPovrsina()*A.getB() +
B.getPovrsina()*A1.getB(); }};
#endif // TELOA_H
#ifndef TELOB_H#define TELOB_H
#include "teloa.h"
class TeloB : public TeloA{ public: TeloB(double a) : TeloA(a,a,a,a,a) {} TeloB(const TeloB &ta) : TeloA((TeloA)ta) {}};
#endif // TELOB_H
#include <iostream>
#include "telob.h"
using namespace std;
int main(){ TeloB ta(3); cout<<"Povrsina: "<<ta.getPovrsina()<<endl; cout<<"Zapremina: "<<ta.getZapremina()<<endl; return 0;}
Figura : Piramida#ifndef TROUGAO_H#define TROUGAO_H#include <math.h>
class Trougao{ protected: double a,b,c; public: Trougao() { a=1; b=1; c=1; } Trougao(double aa, double bb, double cc) { a=aa; b=bb; c=cc; } Trougao(const Trougao &t) { a=t.a; b=t.b; c=t.c; }
void setA(double aa) { a=aa; } void setB(double bb) { b=bb; } void setC(double cc) { c=cc; }
double getA() const { return a; } double getB() const { return b; } double getC() const { return c; }
double getObim() const { return a+b+c; } double getPovrsina() const { double s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c)); }};
#endif // TROUGAO_H
#ifndef JKTROUGAO_H#define JKTROUGAO_H
#include "trougao.h"
class JKTrougao : public Trougao { public: JKTrougao() : Trougao(1,2,2) {} JKTrougao(double aa, double bb) : Trougao(aa, bb, bb) {} JKTrougao(const JKTrougao &jkt) : Trougao(jkt.a, jkt.b, jkt.c){}};
#endif // JKTROUGAO_H
#ifndef JSTROUGAO_H#define JSTROUGAO_H
#include "jktrougao.h"
class JSTrougao : public JKTrougao { public: JSTrougao() : JKTrougao(1,1) {} JSTrougao(double aa) : JKTrougao(aa, aa) {} JSTrougao(const JSTrougao &jst) : JKTrougao(jst.a, jst.b) {}};
#endif // JSTROUGAO_H
#ifndef PIRAMIDA_H#define PIRAMIDA_H#include "jktrougao.h"#include "jstrougao.h"#include <math.h>
class Piramida{ private: JSTrougao B; JKTrougao M; public: Piramida(double a, double b) : B(a), M(a,b) {} Piramida(const Piramida &p) : B(p.B), M(p.M) {}
double getPovrsina() const { return 3*M.getPovrsina()+B.getPovrsina(); } double getZapremina() const {double h = (sqrt(M.getB()*M.getB()-
(M.getA()*M.getA()/3))) ; return (B.getPovrsina()*h)/3; }
};
#endif // PIRAMIDA_H
#include <iostream>#include "piramida.h"using namespace std;
int main(){ Piramida p(3,4);
cout << "Povrsina piramide je: " << p.getPovrsina() << endl; cout << "Zapremina piramide je: " << p.getZapremina() << endl; return 0;}