Valeurs d'un tableau réinitialisées
Fermé
Pronom
Messages postés
5
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
27 décembre 2015
-
24 déc. 2015 à 12:57
Pronom Messages postés 5 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015 - 27 déc. 2015 à 12:57
Pronom Messages postés 5 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015 - 27 déc. 2015 à 12:57
A voir également:
- Valeurs d'un tableau réinitialisées
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Tableau de combinaison loto 5/90 - Forum Excel
2 réponses
ARMAND3
Messages postés
115
Date d'inscription
jeudi 14 février 2013
Statut
Membre
Dernière intervention
26 décembre 2015
4
26 déc. 2015 à 12:00
26 déc. 2015 à 12:00
Apparemment la variable carre[i] n'est défini nulle part
ARMAND3
Messages postés
115
Date d'inscription
jeudi 14 février 2013
Statut
Membre
Dernière intervention
26 décembre 2015
4
26 déc. 2015 à 12:30
26 déc. 2015 à 12:30
Je ne suis peut être pas aussi bon que toi . mais il me semble que la variable counter n'est pas globale et du coup peu disparaître au sorti de la boucle essaye de la déclarer plus haut comme i et j
Je n'en suis pas certains. J'aurais bien pu essayer ton code sur ma machine mais je suis en déplacement merci
Je n'en suis pas certains. J'aurais bien pu essayer ton code sur ma machine mais je suis en déplacement merci
Pronom
Messages postés
5
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
27 décembre 2015
Modifié par Pronom le 26/12/2015 à 12:54
Modifié par Pronom le 26/12/2015 à 12:54
Non les variables j et counter ne servent qu'a "se déplacer" dans le tableau tout comme m. La variable i écrit dans le tableau tab et ça fonctionne très bien dans la boucle. Par contre une fois dans la boucle du bas tab redeviens indéfini alors que choix reste défini comme il l'est juste au dessus
Dans le doute j'ai tout de même déclaré counter hors de la boucle mais sans succès
Dans le doute j'ai tout de même déclaré counter hors de la boucle mais sans succès
salut,
votre raisonnement est improductif...
SI vous utilisez un tableau (de variables)c'est que vous avez des valeurs tabulaires à utiliser. Sinon laissez tomber le tableau ou concentrez vous sur la façon de le remplir.
Le reste c'est des détails techniques mais il semble que vous ne savez pas ce que doit faire le programme et là c'est une faute qu'aucun code ne rattrape.
Pour obtenir le carré d'une valeur ou tout calcul utilisez une fonction.
Un tableau c'est pas pour ça puisque si vous avez une suite mathématique quelle qu'elle soit c'est simple à calculer(en utilisant la formule/opération directement d'où l'utilisation d'une fonction pour automatiser). Le tableau est utile pour retenir des valeurs qui proviennent d'ailleurs et qui ne peuvent pas être calculées à partir d'autres.
votre raisonnement est improductif...
SI vous utilisez un tableau (de variables)c'est que vous avez des valeurs tabulaires à utiliser. Sinon laissez tomber le tableau ou concentrez vous sur la façon de le remplir.
Le reste c'est des détails techniques mais il semble que vous ne savez pas ce que doit faire le programme et là c'est une faute qu'aucun code ne rattrape.
Pour obtenir le carré d'une valeur ou tout calcul utilisez une fonction.
Un tableau c'est pas pour ça puisque si vous avez une suite mathématique quelle qu'elle soit c'est simple à calculer(en utilisant la formule/opération directement d'où l'utilisation d'une fonction pour automatiser). Le tableau est utile pour retenir des valeurs qui proviennent d'ailleurs et qui ne peuvent pas être calculées à partir d'autres.
Voilà simplement et logiquement(donc sans retenir des valeurs-et utilisé de la mémoire pour rien):
Déjà le code devient plus clair et l'exécution de celui ci ne va perdre son temps à tester toutes les valeurs qui sont possibles, juste la valeur concernée au moment "t".
function obtenirracinecarre(valeur){ var racine=Math.sqrt(valeur); if(racine==racine.floor(racine)){//on vérifie que la racine carrée est un entier return(racine); }else{ return ("n'est pas une racine carré entière"); } }
Déjà le code devient plus clair et l'exécution de celui ci ne va perdre son temps à tester toutes les valeurs qui sont possibles, juste la valeur concernée au moment "t".
Pronom
Messages postés
5
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
27 décembre 2015
Modifié par Pronom le 27/12/2015 à 13:09
Modifié par Pronom le 27/12/2015 à 13:09
Salut,
Ce n'est pas du tout ce que je cherche à faire:
Neuf carré sont disposé de cette manière.
Avec la fonction Math.random un des carré est encerclé par un border pendant quelques secondes puis la bordure est retirée. Et grâce à la boucle for 3 nombre aléatoires sont générés. L'idée est de récuperer ces 3 nombres dans le tableau tab et les conserver pour plus tard.
Ensuite l'utilisateur doit cliquer sur 3 carrés à sont tour. Ses choix sont stockés dans le tableau choix. Et jusqu'ici tout le code fonctionne parfaitement.
Enfin on arrive à la dernière boucle for qui à pour but de comparer les tableaux choix et tab (le code n'est plus écrit car ça ne fonctionnait pas).
Maintenant les alert();
Je les ai mises pour voir comment se comporte le code. Donc dans la première boucle for les nombres générés par la fonction Math.random sont parfaitement stocké et correspondent à ce qui se déroule à l'écran. Et le tableau choix stocke bien les entrées utilisateurs.
Le problème est qu'en dehors de cette première boucle le tableau tab est undefined...en tout cas c'est ce que je pensais jusqu'à hier. Par hasard (je rappelle que je suis débutant et autodidacte :p) j'ai inversé la boucle for et le setTimeout qui se trouvent en bas du code.
C'est à dire qu'au lieu d'avoir:
Il y à maintenant:
Dans cet ordre le tableau tab stock seulement le dernier nombre aléatoire déclaré plus haut.
C'est à dire que si i à généré les nombre 2, 4 et 9. Dans la la première boucle for tab[0] aura pour valeur 2, tab[1] = 4 tab[2] = 9.
Par contre dans la boucle for situées plus bas tab[0] sera égal à 9, tab[1] = 9 et tab[2]= 9.
Voilà j'ai essayé de clarifier au maximum mon code.
Ce n'est pas du tout ce que je cherche à faire:
Neuf carré sont disposé de cette manière.
Avec la fonction Math.random un des carré est encerclé par un border pendant quelques secondes puis la bordure est retirée. Et grâce à la boucle for 3 nombre aléatoires sont générés. L'idée est de récuperer ces 3 nombres dans le tableau tab et les conserver pour plus tard.
Ensuite l'utilisateur doit cliquer sur 3 carrés à sont tour. Ses choix sont stockés dans le tableau choix. Et jusqu'ici tout le code fonctionne parfaitement.
Enfin on arrive à la dernière boucle for qui à pour but de comparer les tableaux choix et tab (le code n'est plus écrit car ça ne fonctionnait pas).
Maintenant les alert();
Je les ai mises pour voir comment se comporte le code. Donc dans la première boucle for les nombres générés par la fonction Math.random sont parfaitement stocké et correspondent à ce qui se déroule à l'écran. Et le tableau choix stocke bien les entrées utilisateurs.
Le problème est qu'en dehors de cette première boucle le tableau tab est undefined...en tout cas c'est ce que je pensais jusqu'à hier. Par hasard (je rappelle que je suis débutant et autodidacte :p) j'ai inversé la boucle for et le setTimeout qui se trouvent en bas du code.
C'est à dire qu'au lieu d'avoir:
setTimeout(function(){ for (var m = 0; m < difficulte; m++){ alert(tab[m]); alert(choix[m]); } }, 10000);
Il y à maintenant:
for (var m = 0; m < difficulte; m++){ setTimeout(function(){ alert(tab[m]); alert(choix[m]); }, 10000); }
Dans cet ordre le tableau tab stock seulement le dernier nombre aléatoire déclaré plus haut.
C'est à dire que si i à généré les nombre 2, 4 et 9. Dans la la première boucle for tab[0] aura pour valeur 2, tab[1] = 4 tab[2] = 9.
Par contre dans la boucle for situées plus bas tab[0] sera égal à 9, tab[1] = 9 et tab[2]= 9.
Voilà j'ai essayé de clarifier au maximum mon code.
Modifié par Pronom le 26/12/2015 à 12:03