[c]probleme utilisation d'un tableau [2][N].

Fermé
babili Messages postés 27 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 3 octobre 2010 - Modifié par babili le 2/10/2010 à 12:06
babili Messages postés 27 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 3 octobre 2010 - 3 oct. 2010 à 13:10
Bonjour,
Logicil utilisé dev c++
compilateur utilisé gcc

voila, je doit généré un tableau pour définir aléatoirement l'abscisse x et l'ordonnée y de N molécule dans un boite. pour m'entraîner a manipulé les tableau j'ai décidé de généré dans un tableau [2][N] les coordonnée entre -10 et 4 des N molécule dans une fonction, jusque la pas de soucis. mais dans une autre fonction, je voudrais afficher les coordonné d'une seule des molécules, et la ça se gatte.

 // gaz parfait en deux dimension 

#include<iostream> 
#include<cstdlib> 
#include<cmath> 
#include<ctime> 
using namespace std; 
int N; 

double aleatoire(void)        // fonction random [0,1] (fonctionnel) 
{ 
    double x=rand()/(double)RAND_MAX; 
    return rand()/(double)RAND_MAX; 
} 
int N_Mol(void)               // définition du nombre de molécule (fonctionnel) 
{ 
  cin>>N; 
  return N; 
} 
double Tab_x(int N)    // remplissage du tableau par des coordonnée aléatoire (fonctionnel) 
{ 
  srand((unsigned)time(NULL)); 
  double x[2][N]; 
  for (int i=0; i<2; i++) 
    { cout<<""<<endl; 
      for (int j=0; j<N; j++) 
        {x[i][j]=aleatoire()*14-10; 
         cout<<x[i][j]; 
         cout<<"  "; 
        } 
    } 
} 
int aff_Tab_x(int N)       // affichage des coordonnée de la molécule 2 (PROBLEME) 
{ 
   double x[2][N]; 
   cout<<""<<endl; 
   cout<<""<<endl; 
   cout<<x[0][1]<<endl; 
   cout<<x[1][1]<<endl; 
} 
int main(void)               
{  
  N_Mol(); 
  Tab_x(N); 
  aff_Tab_x(N); 
  //pour windows uniquement (ne pas fermer la fenetre d'execution 
    int wait; 
    cin>>wait; 
  // 
  return 0; 
}


image résultat :http://img824.imageshack.us/img824/6940/sanstitretruecolor02.jpg

En exécutant le test je vois que je n'arrive pas a afficher la case [1][1] du tableau qui aurait du être -5.89233

en testant d'autre combinaison de case, par exemple afficher que les abscisse i=0 (premiere ligne du tabeau) :

 int aff_Tab_x(int N)           // affichage des coordonnée de la molécule 2 
{ 
   double x[2][N]; 
   cout<<""<<endl; 
   cout<<""<<endl; 
   cout<<x[0][0]<<endl; 
   cout<<x[0][1]<<endl; 
}


j'obtiens la deuxième ligne du tableau et non la 1ere ce qui correspondrai au ordonnée.

image résultat :http://img695.imageshack.us/img695/4032/sanstitretruecolor02z.jpg


donc voila, débutant dans le c comme vous auriez pus le voir. j'aimerai savoir où je me suis planté ?
A voir également:

1 réponse

babili Messages postés 27 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 3 octobre 2010
3 oct. 2010 à 13:10
up
0