va rog foarte mult sa ma ajutati :
Să se definească o clasă punct cu 2 câmpuri x și y pentru coordonatele unui punct în plan. - Să se scrie constructori de inițializare si de copiere pentru clasa punct. - Să se scrie metode pentru citirea și afișarea variabilelor de tip punct. - Să se creeze o clasă triunghi formată din 3 puncte în plan. - Să se scrie constructori pentru clasa triunghi. - Să se scrie metode pentru citirea și afișarea obiectelor de tipul triunghi. - Să se scrie metode pentru calculul perimetrului și a ariei unui triunghi.(in c++ va rog foarte mult ca imi trebuie urgent)
artur99:
Încă mai trebuie?
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
#include <cmath>
using namespace std;
class punct{
private:
float x, y;
public:
punct(){
// Ce treubie de facut in constructor?
}
void citire(){
cout<<"Introduceti coordonatele punctului:\n";
cout<<"X: ";
cin>>x;
cout<<"Y: ";
cin>>y;
}
void afisare(){
cout<<"Punct: ("<<x<<", "<<y<<")\n";
}
float getX(){
return x;
}
float getY(){
return y;
}
};
class triunghi{
private:
punct p1, p2, p3;
float distanta(float x1, float y1, float x2, float y2){
return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
}
public:
triunghi(){
}
void citire(){
cout<<"Introduceti coordonatele triunghiului:\n";
p1.citire();
p2.citire();
p3.citire();
}
void afisare(){
cout<<"Triunghi: ";
cout<<"("<<p1.getX()<<", "<<p1.getY()<<"); ";
cout<<"("<<p2.getX()<<", "<<p2.getY()<<"); ";
cout<<"("<<p3.getX()<<", "<<p3.getY()<<"); ";
cout<<"\n";
cout<<"Aria triunghiului: "<<aria()<<"\n";
cout<<"Perimetrul triunghiului: "<<perimetrul()<<"\n";
}
float aria(){
float x1 = p1.getX();
float x2 = p2.getX();
float x3 = p3.getX();
float y1 = p1.getY();
float y2 = p2.getY();
float y3 = p3.getY();
float det;
det = x1*y2*1 + x2*y3*1 + x3*y1*1 - 1*y2*x3 - 1*y3*x1 - 1*y1*x2;
det = abs(det);
return det * 1/2;
}
float perimetrul(){
float p = 0;
float x1 = p1.getX();
float x2 = p2.getX();
float x3 = p3.getX();
float y1 = p1.getY();
float y2 = p2.getY();
float y3 = p3.getY();
p += distanta(x1, y1, x2, y2);
p += distanta(x2, y2, x3, y3);
p += distanta(x3, y3, x1, y1);
return p;
}
};
int main(){
triunghi tr;
tr.citire();
tr.afisare();
cout<<"Aria: "<<tr.aria();
return 0;
}
Nu știu sigur cum se face constructorul de copiere. Dar presupun că merge și fără..? Sau nu știu, ai poate undeva vreun exemplu de cum ar trebui să arate acest minunat constructor?
#include <cmath>
using namespace std;
class punct{
private:
float x, y;
public:
punct(){
// Ce treubie de facut in constructor?
}
void citire(){
cout<<"Introduceti coordonatele punctului:\n";
cout<<"X: ";
cin>>x;
cout<<"Y: ";
cin>>y;
}
void afisare(){
cout<<"Punct: ("<<x<<", "<<y<<")\n";
}
float getX(){
return x;
}
float getY(){
return y;
}
};
class triunghi{
private:
punct p1, p2, p3;
float distanta(float x1, float y1, float x2, float y2){
return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
}
public:
triunghi(){
}
void citire(){
cout<<"Introduceti coordonatele triunghiului:\n";
p1.citire();
p2.citire();
p3.citire();
}
void afisare(){
cout<<"Triunghi: ";
cout<<"("<<p1.getX()<<", "<<p1.getY()<<"); ";
cout<<"("<<p2.getX()<<", "<<p2.getY()<<"); ";
cout<<"("<<p3.getX()<<", "<<p3.getY()<<"); ";
cout<<"\n";
cout<<"Aria triunghiului: "<<aria()<<"\n";
cout<<"Perimetrul triunghiului: "<<perimetrul()<<"\n";
}
float aria(){
float x1 = p1.getX();
float x2 = p2.getX();
float x3 = p3.getX();
float y1 = p1.getY();
float y2 = p2.getY();
float y3 = p3.getY();
float det;
det = x1*y2*1 + x2*y3*1 + x3*y1*1 - 1*y2*x3 - 1*y3*x1 - 1*y1*x2;
det = abs(det);
return det * 1/2;
}
float perimetrul(){
float p = 0;
float x1 = p1.getX();
float x2 = p2.getX();
float x3 = p3.getX();
float y1 = p1.getY();
float y2 = p2.getY();
float y3 = p3.getY();
p += distanta(x1, y1, x2, y2);
p += distanta(x2, y2, x3, y3);
p += distanta(x3, y3, x1, y1);
return p;
}
};
int main(){
triunghi tr;
tr.citire();
tr.afisare();
cout<<"Aria: "<<tr.aria();
return 0;
}
Nu știu sigur cum se face constructorul de copiere. Dar presupun că merge și fără..? Sau nu știu, ai poate undeva vreun exemplu de cum ar trebui să arate acest minunat constructor?
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă