IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Un tableau qui se remplit que de zéros


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2021
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2021
    Messages : 81
    Par défaut Un tableau qui se remplit que de zéros
    Salut, OO

    j'ai un code là qui me donne toujours 0 sur la console, et je sais pas pourquoi bien sûr :/


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    var element=0;
     
    plan=new Array();
     
    // On parcourt 100 plans horizontaux.
    for (p=0; p<20; p++){
    	plan[p]=new Array();
    	// on parcourt toutes les colonnes d'un plan.
    	for (col=0; col<20; col++){
    		plan[p][col]=new Array();
    		// on parcourt toutes les cases d'une colonne.
    		for (lig=0; lig<20; lig++){
    			// On y met un élément au hasard (débris (20%), astéroide (10%), rien (70%).
    			nombre=getRandom(99);
    			if (nombre<70){
    				element=0; // rien.
    			}
    			else{
    				if (nombre<20){
    					element=2; // débris
    				}
    				else{
    					if (nombre<10){
    						element=1;
    					}
    				}
     
    			}
    			console.log(element);	
    			plan[p][col][lig]=element;	
    		}
    	}
     
    }

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 581
    Par défaut
    Salut,

    Petit tips utilise let plutôt que var pour tes variables.
    Ici utilise des console.log dans tes if pour voir ou tu passes, regarde aussi ta variable plan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    nombre = getRandom(99);
    console.log(`random number {nombre}`);
    if (nombre < 70) {
        console.log(`<70`);
        element = 0; // rien.
    } else {
        if (nombre < 20) {
            console.log(`<20`);
            element = 2; // débris
        } else {
            if (nombre < 10) {
                console.log(`<10`);
                element = 1;
            }
        }
     
    }

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 496
    Par défaut
    Bonjour,

    Il faut ajouter nombre>=20 dans la première condition et nombre>=10 dans la deuxième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (nombre >=20 && nombre < 70 ){
    ...
    }else{
        if (nombre >=10 && nombre < 20) {
            ....
        } else {
            if (nombre < 10) {
                ....
            }
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2021
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2021
    Messages : 81
    Par défaut
    Merci les gars pour vos conseils !

  5. #5
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Bonjour,

    les conditions sont fausses !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // On y met un élément au hasard (astéroide (10%), débris (20%), rien (70%).
    Ça se traduit par :
    • 0 <= x < 10 : astéroide -> 10%
    • 10 <= x < 30 : débris -> 20%
    • 30 <= x <= 100 : rien -> 70%

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
          // On y met un élément au hasard (astéroide (10%), débris (20%), rien (70%).
          nombre=getRandom(100);
          console.log(nombre);
          if (nombre>=30 && nombre<=100) // 70%
          {
            element=0; // rien.
          }
          else if (nombre>=10 && nombre<30) // 20%
          {
            element=2; // débris
          }
          else if (nombre<10) // 10%
          {
              element=1; // astéroide
          }
          else // (au cas où...)
          {
              element=0;
          }

  6. #6
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2021
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2021
    Messages : 81
    Par défaut
    Merci Jreaux je vais essayer ça

    Edit : ça marche Jreaux

    Mais je comprend pas le principe, je sais juste que ça détermine le chiffre selon des tranches de pourcentage.

    Merci à tous en tous cas, encore une fois
    NB : j'ai réduis de 100 à 20 pour les boucles sinon ça dure trop et 20 ça me suffit.

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    il me semble qu'il y avait plus simple/lisible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // On y met un élément au hasard (astéroide (10%), débris (20%), rien (70%).
    nombre = getRandom(99);
    console.log(nombre);
    if (nombre < 10) {
      element = 1;
    }
    else if (nombre < 30) {
      element = 2;
    }
    else {
      element = 0;
    }
    ou ai-je raté quelque chose !

  8. #8
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Citation Envoyé par Programir Voir le message
    Mais je comprend pas le principe,....
    Tout le monde ne maîtrise pas la logique... même quand on essaie d'être pédagogue.

    @Nosmoking
    Tu as raison, mais il faut alors expliquer que l'ordre des conditions est important.

  9. #9
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2021
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2021
    Messages : 81
    Par défaut
    Merci à vous tous, non seulement j'ai ma solution mais en plus je comprends ce que je fais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tableau qui ne rend que des zeros
    Par jmc41320 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 03/12/2017, 14h46
  2. Réponses: 0
    Dernier message: 06/04/2017, 23h58
  3. Tableau qui se remplit en se connectant à une BD
    Par majduuus dans le forum ASP.NET
    Réponses: 6
    Dernier message: 14/08/2013, 11h07
  4. Réponses: 6
    Dernier message: 10/11/2009, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo