1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| #include <iostream>
using namespace std;
int saisie_nombre()
{
int n;
cout<<"Saisir le nombre de particules: ";
cin>>n;
return n;
}
void saisie_point(double* p)
{
// p=new double[3]; // 1ere possibilite: elle marche pas, pourquoi ?
cout<<"Coordonnees: "; // (a l'execution, il apparait une fenetre windows d'erreur)
cin>>p[0]>>p[1]>>p[2];
}
void affiche_point(double*p)
{
cout<<"Coordonnees du point: "<<p[0]<<'\t'<<p[1]<<"\t"<<p[2];
}
int menu()
{
int m;
do{
cout<<"Voulez-vous: 1->Entrer les particules ?"<<endl;
cout<<" 2->Calculer le centre d'inertie ?"<<endl;
cout<<" 3->Quitter ?"<<endl;
cout<<"Votre choix (1,2 ou 3)? ";
cin>>m;
}while(m!=1&&m!=2&&m!=3);
return m;
}
void entree(int n,double**pts,double*masses)
{
/* for(int i=0;i<n;i++)
{
pts[i]=new double[3]; //2eme possibilite qui marche
}
*/
for(int i=0;i<n;i++)
{
cout<<"Saisir les coordonnees et la masse de la particule d'indice "<<i+1<<": "<<endl;
saisie_point(pts[i]);
cout<<"Masse: ";
cin>>masses[i];
}
}
void centre(int n,double**pts,double*masses)
{
double x=0;
double y=0;
double z=0;
double m=0;
for(int i=0;i<n;i++)
{
x+=masses[i]*pts[i][0];
y+=masses[i]*pts[i][1];
z+=masses[i]*pts[i][2];
m+=masses[i];
}
x/=m;
y/=m;
z/=m;
cout<<"Coordonnees du centre d'inertie: "<<x<<"\t"<<y<<"\t"<<z<<endl;
} |
Partager