To u gory jest złe (przepraszam za posty pod soba)
Wrzuce caly kod niestety nie mam pojecia czym jest ta linijka** w1.Punkt(1) = punkt(0.5, 0.5);** Jakby ktos chociaz mogl mi przyblizyc czym ona jest .
#include <iostream>
#include <cmath>
using namespace std;
class punkt{
double x_,y_;
public:
punkt():x_(0),y_(0){}
punkt(double x,double y):x_(x),y_(y){}
const double& x()const{return x_;}
double& x(){return x_;}
const double& y()const{return y_;}
double& y(){return y_;}
const double odleglosc(const punkt& ob)const ;
};
const double punkt::odleglosc(const punkt& ob)const{
return sqrt((x_ - ob.x_)*(x_ - ob.x_)+(y_ - ob.y_)*(y_ - ob.y_));
}
class wielobok{
unsigned rozmiar;
punkt* wsk;
public:
wielobok():rozmiar(0),wsk(new punkt){}
wielobok(punkt* pocz,punkt* koniec):rozmiar(koniec-pocz),wsk(rozmiar? new punkt[rozmiar]:0){
for(unsigned i = 0 ; i < rozmiar ; i++)
{
wsk[i]=pocz[i];
}
}
double obwod(){
double suma = 0;
for(unsigned i = 0 ; i < rozmiar ; i++)
{
suma += wsk[i].odleglosc(punkt());
}
return suma;
}
};
int main()
{
punkt p(2, 3);
cout << p.x() << ' ' << p.y() << '\n';
p.x() = 1;
p.y() = 1;
cout << p.x() << ' ' << p.y() << '\n';
cout << p.odleglosc(punkt()) << '\n';
punkt t[] = { punkt(0, 1), punkt(0, 0), punkt(1, 0), punkt(1, 1) };
wielobok w1(t, t+4);
cout << w1.obwod() << '\n';
//w1.Punkt(1) = punkt(0.5, 0.5);
/* cout << w1.obwod() << '\n';
wielobok w2;
w2.Punkty(t, t+3);
cout << w2.obwod() << '\n';
for (int i = 0; i < w2.ilosc(); ++i)
cout << w2.Punkt(i).x() << ' ' << w2.Punkt(i).y() << '\n';*/
return 0;
}