Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme nombre aléatoire

7 réponses
Avatar
Kyra89
Bonjour,
J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son généré (seconde, minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une fonction calculer qui permet de faire la somme des nombres aléatoire pour afficher 1 seul nombre dans un input pour chacun des tableaux.

exemple :
- nombre généré aléatoirement pour le tableau seconde (5 - 6 - 7 - 2 - 5 - 8) le nombre 33 s'affichera dans l'input seconde
- nombre généré aléatoirement pour le tableau seconde ( 6 - 5 - 4 - 5 -6 - 2) le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0 soit me met NaN... Pouvez-vous m'aider?

7 réponses

Avatar
Paul Gaborit
À (at) Sat, 16 May 2015 14:24:27 -0500,
Kyra89 écrivait (wrote):

J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son généré (seconde,
minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une fonction
calculer qui permet de faire la somme des nombres aléatoire pour afficher 1 seul
nombre dans un input pour chacun des tableaux.

exemple :
- nombre généré aléatoirement pour le tableau seconde (5 - 6 - 7 - 2 - 5 - 8) le
nombre 33 s'affichera dans l'input seconde
- nombre généré aléatoirement pour le tableau seconde ( 6 - 5 - 4 - 5 -6 - 2)
le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0 soit me
met NaN... Pouvez-vous m'aider?



Oui.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Pierre Maurette
Kyra89 :
Bonjour,
J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son généré (seconde,
minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une
fonction calculer qui permet de faire la somme des nombres aléatoire pour
afficher 1 seul nombre dans un input pour chacun des tableaux.

exemple :
- nombre généré aléatoirement pour le tableau seconde (5 - 6 - 7 - 2 - 5 - 8)
le nombre 33 s'affichera dans l'input seconde
- nombre généré aléatoirement pour le tableau seconde ( 6 - 5 - 4 - 5 -6 -
2) le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0 soit
me met NaN... Pouvez-vous m'aider?



Sans code, sans lien, pas facile. Je vais chercher sur quel forum poser
la question "comment puis-je l'aider ?".

"soit 0 soit NaN" fait penser à une division de 0 par qqchose, qui
renvoie 0 en général et NaN si qqchose vaut 0.

Notez que le code js est très simple à déboguer, via F12 (n'importe
quel navigateur en fait), vous placez un BP au début de votre fonction
et vous rafraichissez.

--
Pierre Maurette
Avatar
Olivier Miakinen
Bonjour,

Le 17/05/2015 21:19, kyra89 a écrit :



voila ma fonction pour essayer d'additionner les nombre aléatoire stock[és] dans
myArray sachant que c'est un tableau a deux dimensions :

[0][1][2]
[1][2][3]



Un tableau à deux dimensions ? Comment est-il initialisé ?


function additionner(myArray)
{
var somme = 0;
for( i= 0 ; i < myArray.Length; i++)



1) myArray.Length ou myArray.length ?
2) comment sont représentées les deux dimensions ?

{
somme = somme + myArray[i];



Un tableau à deux dimensions, vraiment ?

}
alert(somme);
return somme;
}

C'est dans cet alert que le nombre 0 m'apparaît alors que j'aimerais la somme
des 6 cases



Il faudrait vraiment savoir comment le tableau myArray est initialisé.
Avatar
Pierre Maurette
kyra89 :
Le samedi 16 Mai 2015 à 21:24 par Kyra89 :
Bonjour,
J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son
généré (seconde, minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une
fonction calculer qui permet de faire la somme des nombres aléatoire
pour afficher 1 seul nombre dans un input pour chacun des tableaux.

exemple :
- nombre généré aléatoirement pour le tableau
seconde (5 - 6 - 7 - 2 - 5 - 8) le nombre 33 s'affichera dans l'input
seconde - nombre généré aléatoirement pour le tableau
seconde ( 6 - 5 - 4 - 5 -6 - 2) le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0
soit me met NaN... Pouvez-vous m'aider?


voila ma fonction pour essayer d'additionner les nombre aléatoire stocker
dans myArray sachant que c'est un tableau a deux dimensions :

[0][1][2]
[1][2][3]

function additionner(myArray)
{
var somme = 0;
for( i= 0 ; i < myArray.Length; i++)
{
somme = somme + myArray[i];
}
alert(somme);
return somme;
}

C'est dans cet alert que le nombre 0 m'apparaît alors que j'aimerais la somme
des 6 cases



Si l'exercice est à rendre aujourd'hui, vous pouvez vous inspirer de:

function sumArrays(tablos)
{
return tablos instanceof Array ?
tablos.reduce(function(t1, t2){return
parseInt(sumArrays(t1)) + parseInt(sumArrays(t2));}):
parseInt(tablos);
}
alert(sumArrays(4500)); //4500
alert(sumArrays([1, "2", "3"])); //6
alert(sumArrays([[1, 2, 3], ['50', '70']])); //126

--
Pierre Maurette
Avatar
SAM
Le 16/05/15 21:24, Kyra89 a écrit :
Bonjour,
J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son généré (seconde,
minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une fonction
calculer qui permet de faire la somme des nombres aléatoire pour afficher 1 seul
nombre dans un input pour chacun des tableaux.

- nombre généré aléatoirement pour le tableau seconde (5 - 6 - 7 - 2 - 5 - 8) le
nombre 33 s'affichera dans l'input seconde
- nombre généré aléatoirement pour le tableau seconde ( 6 - 5 - 4 - 5 -6 - 2)
le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0 soit me
met NaN... Pouvez-vous m'aider?




alert( input-1.value*1 + imput-2.value*1 + ... etc.);

non ?


la valeur du champ est une chaine de caractères (du texte quoi) on ne
peut pas les additionner (au sens mathématique) il faut donc convertir
ces valeurs en nombres

soit en les multipliant par 1
soit avec la fonction : Number();
soit avec le signe + devant la valeur

alert( +input-1.value + +imput-2.value);
alert( Number(input-1.value) + Number(imput-2.value) );



Nota:
la soustraction n'occasionne pas d’ambiguïté, les valeurs sont
automatiquement converties en nombres !
Et, bien entendu, de même pour multiplication et division.


Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
SAM
Le 17/05/15 21:19, kyra89 a écrit :
Le samedi 16 Mai 2015 à 21:24 par Kyra89 :
Bonjour,
J'ai besoin d'aide pour mon programme, je bloque...
Lorsque je clique sur un bouton, j'ai 3 tableaux qui son
généré (seconde, minute, heure) dans une div.
Dans ses tableaux se trouve des nombres aléatoire. J'aimerais faire une
fonction calculer qui permet de faire la somme des nombres aléatoire
pour afficher 1 seul nombre dans un input pour chacun des tableaux.

exemple :
- nombre généré aléatoirement pour le tableau
seconde (5 - 6 - 7 - 2 - 5 - 8) le nombre 33 s'affichera dans l'input seconde
- nombre généré aléatoirement pour le tableau
seconde ( 6 - 5 - 4 - 5 -6 - 2) le nombre 28 s'affiche dans l'input minute
et pareil pour l'heure pour ensuite faire un compte a rebours

Mais impossible de faire fonctionner le résultat de l'alert est soit a 0
soit me met NaN... Pouvez-vous m'aider?


voila ma fonction pour essayer d'additionner les nombre aléatoire stocker dans
myArray sachant que c'est un tableau a deux dimensions :



Un *array* à "deux" dimensions ???
réellement ?

[0][1][2]
[1][2][3]



Oui ! Bon !
et .. tu es certain que c'est :
[1][2][3]
et non pas :
['1'] ['2'] ['3']
???

comment "nourris-tu" cet array ?

(convenons d'utiliser "array" pour un tableau JavaScript et "tableau"
pour un table en HTML)


function additionner(myArray)
{
var somme = 0;
for( i= 0 ; i < myArray.Length; i++)
{
somme = somme + myArray[i];
}
alert(somme);
return somme;
}



Plus propre :

function additionner(myArray)
{
var somme = 0;
for( var i= 0, n = myArray.Length; i < n; i++)
{
somme += myArray[i]*1; // conversion en nombre à la volée
}
alert(somme);
return somme;
}




Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
SAM
Le 19/05/15 12:00, SAM a écrit :

function additionner(myArray)
{
var somme = 0;
for( var i= 0, n = myArray.Length; i < n; i++)



n = myArray.length;
!!!

{
somme += myArray[i]*1; // conversion en nombre à la volée
}
alert(somme);
return somme;
}





Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8