Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //zadatak 3
- //TP 2018/2019: Tutorijal 8, Zadatak 1
- #include <iostream>
- #include <cmath>
- using namespace std;
- class Vektor3d
- {
- double koordinate[3];
- mutable int broj_ispisa=0;
- public:
- Vektor3d() {for (int i=0;i<3;i++) koordinate[i]=0;}
- Vektor3d(double x, double y, double z){ koordinate[0]=x; koordinate[1]=y; koordinate[2]=z;}
- Vektor3d(const Vektor3d &v){ koordinate[0]=v.koordinate[0]; koordinate[1]=v.koordinate[1]; koordinate[2]=v.koordinate[2]; }
- void Postavi(double x, double y, double z)
- {
- koordinate[0] = x;
- koordinate[1] = y;
- koordinate[2] = z;
- }
- void PostaviX (double a){
- koordinate[0]=a;
- }
- void PostaviY (double a){
- koordinate[1]=a;
- }
- void PostaviZ (double a){
- koordinate[2]=a;
- }
- void Ocitaj(double &x, double &y, double &z) const
- {
- x = koordinate[0];
- y = koordinate[1];
- z = koordinate[2];
- }
- void Ispisi() const
- {
- broj_ispisa++;
- std::cout << "{" << koordinate[0] << "," << koordinate[1] << "," << koordinate[2] << "}";
- }
- double DajX() const
- {
- return koordinate[0];
- }
- double DajY() const
- {
- return koordinate[1];
- }
- double DajZ() const
- {
- return koordinate[2];
- }
- double DajDuzinu() const
- {
- return sqrt(koordinate[0] * koordinate[0] + koordinate[1] * koordinate[1] + koordinate[2] * koordinate[2]);
- }
- int DajBrojIspisa() const {
- return broj_ispisa;
- }
- Vektor3d &PomnoziSaSkalarom(double s)
- {
- koordinate[0] *= s;
- koordinate[1] *= s;
- koordinate[2] *= s;
- return *this;
- }
- Vektor3d &SaberiSa(const Vektor3d &v)
- {
- koordinate[0] += v.koordinate[0];
- koordinate[1] += v.koordinate[1];
- koordinate[2] += v.koordinate[2];
- return *this;
- }
- friend Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2);
- };
- Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2)
- {
- Vektor3d v3;
- v3.koordinate[0] = v1.koordinate[0] + v2.koordinate[0];
- v3.koordinate[1] = v1.koordinate[1] + v2.koordinate[1];
- v3.koordinate[2] = v1.koordinate[2] + v2.koordinate[2];
- return v3;
- }
- int main ()
- {
- Vektor3d v;
- v.Postavi(0, 0, 0);
- v.Ispisi();
- cout<<endl;
- v.PostaviX(1);
- v.PostaviY(2);
- v.PostaviZ(3);
- v.Ispisi();
- cout<<endl;
- double x, y, z;
- v.Ocitaj(x, y, z);
- cout<<x<<","<<y<<","<<z;
- cout<<endl;
- cout<<v.DajX()<<","<<v.DajY()<<","<<v.DajZ()<<endl;
- cout<<v.DajDuzinu()<<endl;
- v.PomnoziSaSkalarom(2).Ispisi();
- cout<<endl;
- Vektor3d v2;
- v2.Postavi(1, 2, 3);
- v.SaberiSa(v2).Ispisi();
- cout<<endl;
- Vektor3d v3;
- v3=ZbirVektora(v, v2);
- v3.Ispisi();
- cout<<endl<<v.DajBrojIspisa();
- return 0;
- }
- //zadatak 2
- /*
- TP 16/17 (Tutorijal 10, Zadatak 2)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <stdexcept>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- class Krug {
- double r;
- public:
- explicit Krug (double poluprecnik) { Postavi(poluprecnik);}
- void Postavi (double poluprecnik) ;
- double DajPoluprecnik() const {return r;}
- double DajObim() const {return 2*r*4*atan(1);}
- double DajPovrsinu() const {return r*r*4*atan(1);}
- Krug& Skaliraj(double broj) ;
- void Ispisi() const {cout<<"R="<<fixed<<setprecision(5)<<DajPoluprecnik()<<" "<<"O="<<fixed<<setprecision(5)<<DajObim()<<" "<<"P="<<fixed<<setprecision(5)<<DajPovrsinu();}
- } ;
- class Valjak{
- Krug baza;
- double h;
- public:
- Valjak (double r, double h) : baza(r) {if (h<=0) throw domain_error("Neispravna visina"); Valjak::h=h;};
- void Postavi (double poluprecnik, double visina) ;
- Krug& DajBazu() {return baza;}
- double DajPoluprecnikBaze() const {return baza.DajPoluprecnik();}
- double DajVisinu() const {return h;}
- double DajPovrsinu() const {return 2*baza.DajPovrsinu()+2*4*atan(1)*baza.DajPoluprecnik()*h;}
- double DajZapreminu() const {return baza.DajPovrsinu()*h;}
- void Skaliraj(double broj) ;
- void Ispisi() const { cout<<"R="<<fixed<<setprecision(5)<<DajPoluprecnikBaze()<<" "<<"H="<<fixed<<setprecision(5)<<DajVisinu()<<" P="<<fixed<<setprecision(5)<<DajPovrsinu()<<" V="<<fixed<<setprecision(5)<<DajZapreminu(); }
- };
- void Krug::Postavi (double poluprecnik){
- if (poluprecnik<=0) throw domain_error("Neispravan poluprecnik");
- r=poluprecnik;
- }
- Krug& Krug::Skaliraj(double broj){
- if (broj<=0) throw domain_error("Neispravan faktor skaliranja");
- r*=broj;
- return *this;
- }
- void Valjak::Postavi (double poluprecnik, double visina){
- baza.Postavi(poluprecnik);
- if (visina<=0) throw domain_error("Neispravna visina");
- h=visina;
- }
- void Valjak::Skaliraj(double broj){
- if (broj<=0) throw domain_error("Neispravan faktor skaliranja");
- baza.Skaliraj(broj);
- h*=broj;
- }
- int main ()
- {
- Valjak v(5, 5);
- v.Postavi(6, 6);
- v.Ispisi();
- return 0;
- }
- //zadatak 1
- /*
- TP 16/17 (Tutorijal 10, Zadatak 1)
- Autotestove pisala Nina Slamnik. Za sva pitanja,
- sugestije i primjedbe poslati mail na:
- nslamnik1@etf.unsa.ba
- Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
- */
- #include <iostream>
- #include <stdexcept>
- using namespace std;
- class StedniRacun{
- double novac;
- public:
- StedniRacun () : novac(0) {};
- StedniRacun (double broj) ;
- StedniRacun &Ulozi (double broj) ;
- StedniRacun &Podigni (double broj) ;
- double DajStanje() const {return novac;}
- StedniRacun &ObracunajKamatu (double broj) ;
- };
- StedniRacun::StedniRacun (double broj){
- if (broj<0) throw logic_error ("Nedozvoljeno pocetno stanje");
- novac=broj;
- }
- StedniRacun& StedniRacun::Podigni (double broj){
- if (broj>novac) throw logic_error ("Transakcija odbijena");
- novac-=broj;
- return *this;
- }
- StedniRacun& StedniRacun::Ulozi(double broj){
- if ((novac+broj)<0) throw logic_error ("Transakcija odbijena");
- novac+=broj;
- return *this;
- }
- StedniRacun& StedniRacun::ObracunajKamatu (double broj){
- if (broj<0) throw logic_error ("Nedozvoljena kamatna stopa");
- novac+=novac*(broj/100.);
- return *this;
- }
- int main ()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement