problème de calcul

problème de calcul - C++ - Programmation

Marsh Posté le 29-01-2007 à 15:12:34    

j'ai un problème dans le calcul on fait je fasse un déclaration du mon tableau, je l'initialise à zéro et je fasse le calcul dans plusieurs boucle et c'est dans cette boucle là ou je trouve les mêmes valeurs dans différents sommets?
[cpp]
for (int h=0; h<Input->GetNumberOfCells(); h++)
    {
     Input->GetFaceVertices(h,ii,jj,kk);//donne moi tous les sommets des triangles h=triangle ii,jj,kk les 3 sommets
     
     Input->GetPointCoordinates(kk,Vk);
     
     double areat=Input->GetFaceArea(h);//calcul d'aires du triangles
               
     TableAreaStar[ii][0]+=areat;
     TableAreaStar[ii][1]+=areat;
     TableAreaStar[ii][2]+=areat;
 
     TableAreaStar[jj][0]+=areat;
     TableAreaStar[jj][1]+=areat;
     TableAreaStar[jj][2]+=areat;
 
     TableAreaStar[kk][0]+=areat;
     TableAreaStar[kk][1]+=areat;
     TableAreaStar[kk][2]+=areat;
}
[cpp]
la boucle est la suivante, normalement ii, jj, kk sont les coordonées 3 sommets des traingles, et je dois avoir pour chaque sommet un valeur # que celui de kk, et jj, mais non j'aurai toujours des valeurs identiques pour [ii][0], [ii][1], [ii][2] et aussi pour [jj][0], [jj][1], et [jj][2] et pareil pour kk pourquoi????????????????????????????

Reply

Marsh Posté le 29-01-2007 à 15:12:34   

Reply

Marsh Posté le 29-01-2007 à 15:15:59    

tandis que l'initialisation du tableau et l'allocation se fait de cette maniére.

Code :
  1. TableAreaStar=new double*    [Input->GetNumberOfPoints()];
  2. for (int i =0;i<Input->GetNumberOfPoints();i++)
  3.  {
  4. TableAreaStar[i]=   new double[3];
  5. TableAreaStar[i][0]=0;
  6. TableAreaStar[i][1]=0;
  7. TableAreaStar[i][2]=0;
  8. }

Reply

Marsh Posté le 29-01-2007 à 15:18:02    

quand j'affiche le tableau la résultat sera de cette maniére
 
TableAreaStar[ii]  54058.8  54058.8  54058.8
 
TableAreaStar[jj]  41983.5  41983.5  41983.5
 
TableAreaStar[kk]  114709  114709  114709

Reply

Marsh Posté le 29-01-2007 à 18:34:48    

tu ne veux pas utiliser des std::vector plutôt ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed