Tableaux d'objets identiques

zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011 - 23 août 2009 à 14:29
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011 - 24 août 2009 à 18:06
Bonjour à tous,
voilà j'ai un problème, j'utilise un tableau d'objet avec des paramètres fixés par rand
le problème est que lorsque je fixe la valeur pour un objet , la meme valeur pour tous les autres objets est fixée également

Voilà un bout de mon code :

srand(time(NULL));

for(int i=0;i<NbCouche;i++){
    for(int j=0;j<NbNeu;j++){
MesObjets[i,j] = gcnew UnObjet(i,j);

        for(int k=0;k<NbConnexNeuMax;k++){
         MesObjets[i,j]->W[k]=(float)(rand() % 1000)/(float)10000-(float)0.05; //W est un tableau de valeurs aléatoires
            }

     }
}



Pourriez vous m'aider? merci bcp!!

4 réponses

zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
23 août 2009 à 14:34
Petit précision : en fait lorsque le programme sort de la boucle les tableaux W de chaque objet sont identiques...
De plus lorsque je fixe la valeur d'un élément W[k] d'un tableau appartenant à un objet(i,j), cette valeur W[k] est appliquée à tous tableaux W des objets de MesObjets...
0
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
23 août 2009 à 14:41
Si je fais

MesObjets[0,0]->W[0]=(float)7;

float test=(float)Neux[2,2]->W[0];


alors test vaut aussi 7 alors que ce sont deux objets différents avec des valeurs différentes

Comment est-ce possible?

Merci
0
ed73 Messages postés 276 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 avril 2013 2
24 août 2009 à 09:58
Bonjour,

Tu as certainement un problème dans le constructeur de UnObjet. W pointe probablement sur la même zone mémoire, n'utiliserais tu pas une variable statique ou globale pour W ?
0
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
24 août 2009 à 18:06
Merci pour ton message
OUi c'est cela !
W était déclaré en statique !
Bien joué
0
Rejoignez-nous