debutant VB
Messages postés93Date d'inscriptionlundi 3 juillet 2006StatutMembreDernière intervention25 juin 2010
-
28 oct. 2007 à 13:03
debutant VB
Messages postés93Date d'inscriptionlundi 3 juillet 2006StatutMembreDernière intervention25 juin 2010
-
29 oct. 2007 à 19:54
Bonjour à tous, j'essaye de débugger mon programme de sudoku,
mais j'ai un petit problème ; en simplifié, c'est celui-là :
Lorsque j'exécute le code js ci-dessous, je me rend compte que
la ligne "numD[1][2] = 2;" change numD[1][2] mais aussi numD[0][2] !
(j'obtiens les messages "1:0; 2:0;" et "1:2; 2:2;" ...)
"
var numU; numU = new Array(3);
var numD; numD = new Array(2);
numU[0] = 5; numU[1] = 6; numU[2] = 0;
numD[0] = numU; numD[1] = numU;
alert("1:"+numD[0][2]+"; 2:"+numD[1][2]+";");
numD[1][2] = 2;
alert("1:"+numD[0][2]+"; 2:"+numD[1][2]+";");
"
Merci de me dire ce qu'il faut que je fasse pour que mon code fonctionne.
(je m'attendais à un "1:0; 2:0;" et "1:0; 2:2;")
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 29 oct. 2007 à 15:45
Bonjour à vous
Je sais pas trop si j'ai pigé, mais j'ai obtenu le résultat demandé ( sans avoir tout bien compris ) en passant par le join("..").split(".."):
var numU = new Array();
var numD = new Array();
numU[0] =5;
numU[1] =6;
numU[2] =0;
numD[0]=numU.join(",").split(",");
numD[1]=numU.join(",").split(",");
numD[0][2]=2;
alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);
et la hop y a bien la que la valeur du numD[0][2] qui est modifiée, mais comme toujours ais-je compris ?
debutant VB
Messages postés93Date d'inscriptionlundi 3 juillet 2006StatutMembreDernière intervention25 juin 2010 29 oct. 2007 à 12:50
Euh, je me suis sans doute mal exprimé.
C'est peut-être un bug que ça ne fait pas dans tous les navigateurs,
mais en tout cas, ça ne marche pas dans mon fichier .hta :
" var numU = new Array(3);
var numD = new Array(2);
numU[0] = 5;
numU[1] = 6;
numU[2] = 0;
numD[0]=numU;
numD[1]=numU;
alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);
numD[1][2] = 2;
alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]); "
J'obtiens "0,2 0
1,2 0",
et "0,2 2
1,2 2"
Est-ce normal que la ligne "numD[1][2] = 2;" ai changé numD[0][2] ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 oct. 2007 à 13:13
>>C'est peut-être un bug que ça ne fait pas dans tous les navigateurs,
ne cherche pas de bugs.
on peut dire que tous les navigateurs en sont tous exempts.
>>mais en tout cas, ça ne marche pas dans mon fichier .hta :
un .hta, ça se comporte comme un .htm ( ou presque )
var numU = new Array(3);
var numD = new Array(2);
numU[0] = 5;
numU[1] = 6;
numU[2] = 0;
numD[0]=numU;
numD[1]=numU;
alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);
ben.... tableau[0 ou 1][2] n'est pas initilalisé !
tu as chargé tableau[n][0] et tableau[n][1] pas tableau[n][2]
debutant VB
Messages postés93Date d'inscriptionlundi 3 juillet 2006StatutMembreDernière intervention25 juin 2010 29 oct. 2007 à 15:12
Mais si je mets un 1 à la place du 0 de numU[2], ça reviens au même ?
On obtiens "0,2 1
1,2 1",
et "0,2 2
1,2 2"
La ligne "numD[1][2] = 2;" change toujours numD[0][2],
en même temps que numD[1][2], de 1 à 2 ?