никак не могу справиться с задачкой!-(
Классы, статические поля, массивы объектов, дружественные функции.
Задача 0.
Определить класс "материальная точка в трехмерном пространстве"
Поля объектов: координаты точки, масса точки, порядковый номер точки.
Поля класса: количество точек в текущий момент (созданных и не
уничтоженных), центр масс всех точек (созданных и не уничтоженных)
в виде объекта класса "материальная точка в трехмерном пространстве".
Методы: конструкторы (подсчитывающие точки, уточняющие центр масс),
деструктор (уменьшающий количество точек и изменяющий центр масс),
функции печати сведений о точке и центре масс и числе точек.В основной программе определить массив объектов класса "точка
в трехмерном пространстве". Количество точек (размер массива) ввести с клавиатуры. Присвоить координатам точек случайные
значения (использовать библиотечную функцию random(), заголовок
<cstdlib>), введя их нижнее и верхнее предельные значения.
Вывести сведения об объектах и совокупности точек…
#include <iostream>
#include <cstdlib>
using namespace std;
class point3 {
double x,y,z;
int m;
int num;
int static counter;
int static kol;
point3 static cent;
public:
point3(double xx=0, double yy=0, double zz=0,point3 mas[]=0) (xx), y(yy), z(zz) { m=1;
kol++;
counter++;
num=counter;
double pr1_x=0,
pr1_y=0,
pr1_z=0,
pr2=0;
for(int i=0;i<kol;i++){pr1_x=mas[i].m*mas[i].x+pr1_x;
pr1_y=mas[i].m*mas[i].y+pr1_y;
pr1_z=mas[i].m*mas[i].z+pr1_z;
pr2=mas[i].m+pr2;
}
cent.x=pr1_x/pr2;
cent.y=pr1_y/pr2;
cent.z=pr1_z/pr2;
}
void print(){
cout<<"Number="<<num<<"\t x="<<x<<"\t y="<<y<<"\t z="<<z<<"\t kolichestvo: "<<kol<<endl;
cout<<"Centre mass: "<<endl;
cent.print();
}
~point3(){
kol–;
}
};
int point3::kol=0;
int point3::counter=0;
point3 point3::cent=0;
int main(){
int k;
double pr_min=0;
double pr_max=10;
double xi,yi,zi;
cout<<"Enter number of points: ";
cin>>k;
point3 Tochka[k];
for(int i=0;i<k;i++){
xi=double(rand()*(double)(pr_max-pr_min)/RAND_MAX+pr_min);
yi=double(rand()*(double)(pr_max-pr_min)/RAND_MAX+pr_min);
zi=double(rand()*(double)(pr_max-pr_min)/RAND_MAX+pr_min);
Tochka[i]=point3(xi,yi,zi,Tochka); Tochka[i].print();
} return 0;}