Professional Documents
Culture Documents
Zad - 02 - 02 Programski Jezici Zadatak Trougao
Zad - 02 - 02 Programski Jezici Zadatak Trougao
Zadatak 2.2
Trouglovi u ravni
Napisati na jeziku C++ klasu trouglova. Predvideti: ispitivanje da li tri dui mogu biti stranice trougla,
stvaranje trougla, dohvatanje duina stranica, izraunavanje obima i povrine, itanje trougla sa glavnog
ulaza i ispisivanje trougla na glavnom izlazu.
Napsiati na jeziku C++ program koji proita dinamiki niz trouglova, uredi niz po neopadajuem
redosledu povrina trouglova i ispie dobijeni rezultat.
Reenje:
// trougao2.h - Definicija klase trouglova.
#include <cstdlib>
using namespace std;
class Trougao {
double a, b, c;
// Stranice trougla.
public:
static bool moze (double a, double b, double c) { // Da li su stranice
return a>0 && b>0 && c>0 &&
//
prihvatljive?
a+b>c && b+c>a && c+a>b;
}
Trougao (double aa=1, double bb=1, double cc=1) { // Postavljanje
if (! moze (aa, bb, cc)) exit (1);
//
koordinata.
a = aa; b = bb; c = cc;
}
double uzmiA () const { return a; }
// Dohvatanje stranica.
double uzmiB () const { return b; }
double uzmiC () const { return c; }
double O () const { return a + b + c; }
// Obim trougla.
double P () const;
// Povrina trougla.
bool citaj ();
// itanje trougla.
void pisi () const;
// Pisanje trougla.
};
// trougao2.C - Definicije metoda klase trouglova.
#include "trougao2.h"
#include <iostream>
#include <cmath>
using namespace std;
double Trougao::P () const {
double s = O () / 2;
return sqrt (s * (s-a) * (s-b) * (s-c));
}
// Povrina trougla.
bool Trougao::citaj () {
double aa, bb, cc;
cin >> aa >> bb >> cc;
if (! moze (aa, bb, cc)) return false;
a = aa; b = bb; c = cc;
return true;
}
// itanje trougla.
Zadatak 2.2
2 Klase
32
2 Klase
Zadatak 2.2