CARVIEW |
Select Language
HTTP/2 200
date: Sun, 12 Oct 2025 23:19:13 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=3a20925f3f63cad3931c31d9d62d28cdf3a3cd48bf68882b9d87cbc28c5084e6a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22M154xtg6QivQXvJlth4Cbz_kUvgq83RD%22%3B%7D; HttpOnly; Path=/
cf-ray: 98da52207d3bc1ce-BLR
Corso recupero c++ 42 - Pastebin.com
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Descrivere la figura geometrica circonferenza seguendo queste indicazioni
- - si dovrá poter creare una circonferenza in questi modi :
- * fornendo le coordinate del centro e la misura del raggio
- * fornendo solo la misura del raggio: sará creata una circonferenza
- centrata nell'origine
- * senza fornire alcun parametro: sará creata la circonferenza
- centrata nell'origine e raggio pari ad 1 (circonferenza goniometrica)
- Nota: una volta creata una circonferenza é immutabile
- - in ogni momento sará possibile
- * estrarre un qualunque dato della circonferenza
- * calcolare l'area
- * calcolare il perimetro
- * confrontare due circonferenze con il seguente criterio: una
- circonferenza é maggiore di un altra se il suo raggio é maggiore
- (implementare un metodo classico e poi con un overload di un
- operatore
- Sfruttando la classe precedente descrivere con una classe una corona
- circolare (la parte che risulta dalla sovrapposizione di due circonferenze
- concentriche ed esterna alla piú piccola e che ha una forma ad anello) :
- - si dovrá poter creare una circonferenza in questi modi:
- * passando al costruttore i due cerchi che definiscono la corona
- * passando le coordinate del centro e delle misure due raggi
- metodi:
- * area
- * spessore
- * perimetro interno corona
- * perimetro esterno
- * confrontare due corone con il seguente criterio: una
- corona é maggiore di un altra se e "piu' spessa"
- */
- #include <iostream>
- #include <cmath>
- #include <cstdlib>
- using namespace std;
- class Circonferenza
- {
- private:
- int xCentro = 0, yCentro = 0;
- int raggio = 0;
- public:
- Circonferenza(int _xCentro, int _yCentro, int _raggio)
- {
- if (_raggio <=0) throw string("raggio <=0");
- xCentro = xCentro;
- yCentro = _yCentro;
- raggio = _raggio;
- }
- Circonferenza() : Circonferenza(0,0,1) {}
- //costruttore per circonferenze
- //centrate nell'origine
- Circonferenza(int raggio) : Circonferenza(0,0,raggio) {}
- //GETTERS
- int getXCentro() {return xCentro;}
- int getYCentro() {return yCentro;}
- int getRaggio() {return raggio;}
- double Perimetro() { return 2*raggio*3.14; }
- double Area() { return 3.14 * raggio * raggio; }
- bool maggioreDi(Circonferenza altraCrf)
- {
- return (raggio > altraCrf.raggio);
- }
- bool operator >(Circonferenza altraCrf) //overload
- {
- return (raggio > altraCrf.raggio);
- }
- };
- class CoronaCircolare
- {
- private:
- Circonferenza crf_interna, crf_esterna;
- public:
- CoronaCircolare(Circonferenza _crf_interna, Circonferenza _crf_esterna)
- {
- if (crf_interna>crf_esterna) throw string("Non e' una corona circolare");
- crf_interna = _crf_interna;
- crf_esterna = _crf_esterna;
- }
- CoronaCircolare(int x, int y, int r_int, int r_est) :
- CoronaCircolare(Circonferenza(x,y,r_int), Circonferenza(x,y,r_est))
- { }
- CoronaCircolare() : CoronaCircolare(0,0,1,2) {}
- double Area()
- {
- return crf_esterna.Area() - crf_interna.Area();
- }
- double Spessore() {return crf_esterna.getRaggio() - crf_interna.getRaggio();}
- double Perimetro_interno() { return crf_interna.Perimetro();}
- double Perimetro_esterno() { return crf_esterna.Perimetro();}
- bool maggioreDi(CoronaCircolare altra)
- {
- return Spessore() > altra.Spessore();
- }
- bool operator> (CoronaCircolare altra)
- {
- return Spessore() > altra.Spessore();
- }
- };
- int main()
- {
- Circonferenza crf1(3,67,4);
- cout << "Perimetro: " << crf1.Perimetro() << endl;
- cout << "Area: " << crf1.Area() << endl;
- Circonferenza crf2(1,1,12);
- if (crf2.maggioreDi(crf1)) cout << "Maggiore\n";
- if (crf2 > crf1) cout << "Maggiore\n";
- CoronaCircolare c1; //costrutore 'vuoto', default
- cout << c1.Area() << endl;
- CoronaCircolare c2(3,6,10,15);
- cout << c2.Area() << endl;
- Circonferenza crf3(2,9,12);
- Circonferenza crf4(2,9,34);
- CoronaCircolare c3(crf3, crf4);
- cout << c3.Area() << endl;
- cout << c3.Spessore() << endl;
- cout << c3.Perimetro_interno() << endl;
- cout << c3.Perimetro_esterno() << endl;
- if (c3 > c2)
- cout << "c3 maggiore di c2\n";
- else
- cout << "c2 maggiore di c3\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
-
📌 Instant BTC Profit Method ✅ Working O
JavaScript | 6 sec ago | 0.25 KB
-
✅ Make $2500 in 20 minutes⭐ F
JavaScript | 15 sec ago | 0.25 KB
-
📌 Swapzone +37% glitch ⭐ J
JavaScript | 24 sec ago | 0.25 KB
-
✅⭐ Make huge profits on trading ⭐⭐ 5
JavaScript | 33 sec ago | 0.25 KB
-
📌 Swapzone +37% glitch ⭐ J
JavaScript | 1 min ago | 0.25 KB
-
Auto-mapper_MC
Lua | 1 min ago | 6.55 KB
-
✅⭐ Make huge profits on trading ⭐⭐ 5
JavaScript | 1 min ago | 0.25 KB
-
✅ Marketplace Glitch ✅ Working NEVER SEEN BE...
JavaScript | 1 min ago | 0.25 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand