Accueil > Forum > > > > problème avec un tableau de tableaux à 2 dimensions
problème avec un tableau de tableaux à 2 dimensions
dimanche 4 septembre 2005 à 10:54:02 |
problème avec un tableau de tableaux à 2 dimensions

Gougoul
|
Bonjour,
j'expose mon cas:
Je crée un tableau(A) qui doit recevoir comme élément un tableau(B) à deux dimensions.
à chaque itération, le tableau A reçoit bien le tableau B ( A.length()
augmente bien à chaque fois), Le dernier élément du tableau
A est bien le contenu du tableau B.
Le tableau A doit me servir de mémoire de l'évolution du tableau B et
le problème que je rencontre est que tous les éléments du tableau A
prennent le contenu du dernier élément entré.
voici le code utilisé:
1)function fA(stockage,i){
/*i est incrémenté depuis la fonction appelante et stockage prend la valeur de B*/
2) A[i]=stockage;
3)}
4)
5)if(!A){
6) A=new Array(); //
7)A[0]=B;
8)}
J'utilise FlashMX .
Si quelqu'un voit ce qui cause mon problème ou connait la cause du
problème, les suggestions et les solutions sont la bien venues.
si mon exposé n'est pas clair, n'hésitez pas à demander des éclaircissements.
merci d'avance.
|
|
mardi 6 septembre 2005 à 10:37:08 |
Re : problème avec un tableau de tableaux à 2 dimensions

Crazyx
|
J'ai pas bien saisi ce que tu tente de faire, surement parce que je suis débutant. Mais bon puisque personne ne répond a ce post, je me lance dans une tentative suicide :p
Tout ce que j'ai compris, c'est que tu tente de sauvegarder le contenu du TABLEAU B dans un TABLEAU A , afin de suivre la dernière modification effectué. Si c'est bien ca ce que tu souhaite faire, je crois que tu te complique la tache. Je pense, de mémoire sans être vraiment sur, que si que B est un tableau et que tu fais A = B; flash crée un tableau A exactement pareil que B. Il te suffit donc de mettre ca au début de ta fonction qui appelle la modification de B, pour avoir A qui correspond à l'etat précédent de B.
Si ce n'est pas cela que tu souhaite, expose un peu plus ton problème peut être que je pourrai t'aider.
crazYx
|
|
mercredi 7 septembre 2005 à 10:27:22 |
Re : problème avec un tableau de tableaux à 2 dimensions

Gougoul
|
Bonjour crazYx,
J'ai compris d'où venait le problème(sans pouvoir le résoudre)
je vais essayer de t'expliquer un peu mieux la situation.
B est un tableau de tableaux (une matrice) qui au fur et à mesure de
l'avancement du programme va se voir modifier l'un de ses éléments.
A la fin du programme je veux pouvoir repasser en revue toute les
modifications, donc je crée un tableau A[i] qui va recevoir le tableau
B à chacune de ses modifications, l'indice i est évidement
incrémenté à chaque fois.
lorsque je fais A[i] = B , ce ne sont pas des valeurs de B qui sont
transmises à A mais des réfèrences ce qui fait que le tableau A ne
contient que des références et sera toujours égal au dernier état de
B==> donc plus aucune trace des états précédents.
ex: tu peux le tester dans flash
//DEBUT
L1=new Array("fruit","légume","etc...");
L2=new Array("rien","rien","rien");
tMatrice=new Array(L1,L2);
tRecepteur= new Array();
//tRecepteur reçoit l'état initial de tMatrice à son 1er élément
tRecepteur[0]= tMatrice; //
trace("j'affiche le contenu de tRecepteur indice 0 ==> "+tRecepteur[0]);
//je modifie le contenu de tMatrice (1ere modification)
tMatrice[0][0]="rien";
tMatrice[1][0]="fruit";
//je vérifie le changement dans tMatrice
trace("tMatrice après changement => "+tMatrice);
//et je constate les "dégats" dans tRecepteur
trace("j'affiche tRecepteur sans changement => "+tRecepteur);
//malgré le changement uniquement dans tMatrice, tRécepteur est affecté
//aussi
//tRecepteur reçoit l'état de tMatrice après changement à son 2eme élément
tRecepteur[1]=tMatrice;
//
trace("tRecepteur[0] => "+tRecepteur[0]);
trace("tRecepteur[1] => "+tRecepteur[1]);
//tRecepteur[0] = tRecepteur[1]
//FIN
Dans cet exemple tRecepteur reste toujours égal à tMatrice même si l'indice de tRecepteur change.
Le problème est là, comment faire pour modifier tMatrice sans affecter
tRecepteur ou comment transmettre par valeur et pas par référence?
Est-ce que cela semble plus clair?
cordialement
|
|
jeudi 8 septembre 2005 à 11:21:40 |
Re : problème avec un tableau de tableaux à 2 dimensions

Crazyx
|
C'est pense que c'est plus clair j'ai lu en diagonale pour l'instant je lance flash je regarde et je te dis si je vois une issue a ce problème ... A tout de suite
cx
|
|
jeudi 8 septembre 2005 à 13:10:04 |
Re : problème avec un tableau de tableaux à 2 dimensions

Crazyx
|
J'avoue que c'es du bidouillage ce que j'ai fait , mais en fait tu créer un tableau a deux dimensions qui contient un tableau a deux dimensions et donc a partir de la ca dreraille au niveau des appels et des attributions de valeurs qui se mettent en "colonnes" au lieu de ce mettre en " ligne" donc en fait pour ton exemple la solution (bidouillage, bidouillage) que j'ai trouvé pour que ca marche c'est ca :
//DEBUT L1=new Array("fruit","légume","etc..."); L2=new Array("rien","rien","rien"); tMatrice=new Array(L1,L2);
tRecepteur= new Array(); //tRecepteur reçoit l'état initial de tMatrice à son 1er élément tRecepteur[0]= tMatrice[0] + "," + tMatrice[1];// trace("j'affiche le contenu de tRecepteur indice 0 ==> "+tRecepteur[0]); //je modifie le contenu de tMatrice (1ere modification) tMatrice[0][0]="rien"; tMatrice[1][0]="banane"; //je vérifie le changement dans tMatrice trace("tMatrice après changement => "+tMatrice); //et je constate les "dégats" dans tRecepteur trace("j'affiche tRecepteur sans changement => "+tRecepteur);
//FIN
cx
|
|
jeudi 8 septembre 2005 à 14:09:13 |
Re : problème avec un tableau de tableaux à 2 dimensions

Crazyx
|
Je corrige, en fait les valeurs des tableaux se mettent en ligne et pas en colonne donc essaie et la ca marche... si tu veux envoie moi ton code en entier je te corrige ca ...
crazYx
|
|
mercredi 28 septembre 2005 à 10:31:31 |
Re : problème avec un tableau de tableaux à 2 dimensions

Gougoul
|
bonjour crazyx,
J'ai laissé le sujet un petit peu de côté, et j'y revient avec la solution.
J'ai fini par trouver la méthode qui permet de passer des arguments par
valeurs et non plus par références, ce qui causait mon problème.
la méthode à utiliser est slice().
je donne cette fois-ci un exemple avec des tableaux simples (les
tableaux à deux dimmensions compliquaient la situation), et tu
comprendra où était mon problème.
//DEBUT
t_tableau = new Array(1,2,3);
trace(t_tableau);
t_tableau_bis = t_tableau;
trace("=====================");
trace("t_tableau = "+t_tableau);
trace("t_tableau_bis = "+t_tableau_bis);
trace("=====================");
trace("En modifiant un élément de t_tableau, t_tableau_bis");
trace("est modifié aussi");
trace("t_tableau[1] = 5;");
t_tableau[1] = 5;
trace("t_tableau = "+t_tableau);
trace("t_tableau_bis = "+t_tableau_bis); // le problème se situe là
trace("=====================");
trace("grâce à slice(), je peux faire passer les valeurs ");
trace("d'un tableau sans utiliser les références");
t_tableau_ter = t_tableau.slice(0);
trace("je modifie un élément de t_tableau et t_tableau_ter");
trace("n'est plus modifié");
trace("t_tableau[1] = 10;");
t_tableau[1] = 10;
trace("t_tableau = "+t_tableau);
trace("t_tableau_ter = "+t_tableau_ter); //le problème est résolu
//FIN
encore merci pour l'intérêt que tu m'as porté .
|
|
Cette discussion est classée dans : problème, élément, tableau, dimensions, stockage
Répondre à ce message
Sujets en rapport avec ce message
Problème d'animation [ par AlexiaC ]
Bonsoir,Je suis débutante et j'aurai aimé réaliser une animation.Voila mon problème :J'ai un tableau. Je voudrai lancer une action (une animation en f
déplacement d'un élément selon un autre élément [ par Petitefievel ]
Bonjour à tous, Je vais tenter de vous expliquer mon problème. Voilà je suis en train de faire un site en flash un peu complexe, le but est d'avoir un
tableau a plusieurs dimensions [ par lilyvirus ]
avec les tableauw on peux faire tout bettement answer= new Array(); answer[0]="coucou" trace(answer[0]); Mais n'y a t'il pas possibilite
Array et suppression d'élément [ par inaden ]
Bonjour,voila, j'ai un tableau (array) qui s'appelle diag, un nombre aléatoire qui s'appelle sorti. J'ai essayé de virer l'élément du tableau correspo
Problème mémoire [ par carton99 ]
Bonjour, j'ai manifestement un problème de mémoire du à un tableau trop grand . voici le code erreur; code: Member function onLoad is larger than 32K.
Tableau à 2 dimensions [ par kri ]
bonjour,Je voudrais faire une matrice, par exemple une matrice 4*4 qui contient les entiers de 1 à 16.J'ai essayé le code suivant mais ça ne marche pa
tableau des élément de type image [ par furiouskiller ]
salu ,comment faire pour créer un tableau contenant de élément de type images ?merci d'avanceFµr!oUs KiLl£r
élimination d'un élément de array (as3) [ par inaden ]
Bonjour à tous et Bonne AnnéeVoilà le pb que j'ai :Le but de l'anim est un jeu de question... appel des question réponse par xml... tout va bienMise e
[Problème] Tableau pour debutant [ par Achoum ]
Bonjour tout le monde.Je debute le flash (depuis 2 jours) et j'ai un problème que je n'arrive pas a résoudre : si quelqu'un pouvais m'aider.Je créé un
problème de splice [ par anartiste ]
anartisteBonjour à tous , voilà, je voudrais appliquer un splice sur des tableaux crées en série mais ça ne fonctionne pas, je vous montre le code et
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|