cs_jcg56123
Messages postés6Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention29 mai 2009
-
3 déc. 2006 à 21:20
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
5 déc. 2006 à 22:44
Bonjour
J'ai un petit exercice à faire pour l'école. Le pseudo code passe et VB plante ...
Le but du programme est de remplir un tableau de 12 indices avec 6 paires de nombres allant de un à six. Je sais qu'il existe aussi le IsEmpty pour vérifier si une variable est vide. Normalement je n'ai pas encore vu de fonction pour mélanger un tableau.
Randomize
Dim i, caseok, cases(12), casetotry
For i = 1 To 6 'mon nombre de un à six
For j = 1 To 2 'je le met deux fois pour avoir des paires
caseok = 0
While caseok = 0
casetotry = Int(Rnd * 11)
If cases(casetotry) = 0 Then 'Si la place est libre, je prend sinon je cherche ailleur
cases(casetotry) = i
caseok = 1
Else
End If
Wend
Next
Next
Avec la boucle de mon i à 5 ça passe, au delà, ça crash
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 4 déc. 2006 à 06:58
Bonjour à tous
Exemple pour le mélange des chiffres.
Reste à définir "result" en tableau.
Dim aTabSeries(12)
Dim aSuites()
Randomize
Dim i , iRnd
For i = 1 To 12
aTabSeries(i) = i
Next
'redim résultats
ReDim aSuites(12)
Dim Result
'on créé le tableau de résultat en "désactivant" ceux trouvés
For i = 1 To 12 Step 1
aSuites(i) = 0
While aSuites(i) = 0
iRnd = Int(12 * Rnd) + 1
If aTabSeries(iRnd) <> 0 Then
aSuites(i) = aTabSeries(iRnd)
aTabSeries(iRnd) = 0
Result = Result & CStr(aSuites(i)) & " . "
End If
Wend
Next
MsgBox Result,,"Chiffres mélangés"
Salut
1) Les 4 variables ne sont pas déclarés : elles sont toutes de type Variant
2) Le Else est inutile
3) Remplace Int(Rnd * 11) par Int(Rnd * 12) -1
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 déc. 2006 à 20:20
Attends !!
Il faut une fois de plus jouer, semble-t-il, aux devinettes !!!
Ta question serait-elle tout simplement :
"je cherche à dresser la liste de toutes les combinaisons possibles de nombres pris 2 à 2 dans une série de 6 nombres et à présenter les résultats dans un ordre aléatoire" ????
Si tel est le cas :
1) cpùbinaisons dans l'ordre ou indépendamment de l'ordre ?
2) Où rencontres-tu une difficulté ?
a) dans l'établissement de la liste des combinaisons possibles ?
b) dans la présentation du résultat dans un ordre aléatoire ?
c) difficultés tant pour a) que pour b) ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 5 déc. 2006 à 21:06
Ouais .....
L'abonné ne répond plus au numéro demandé.... et c'est bien dommage !!!!
Pour le cas où il repasserait par là, quand même :
Sais-tu, ami, ce qui m'onquiète le plus, dans toute cette "affaire" ?
C'est ton chiffre 12 ....
Tu ne vois pas pourquoi ? (moi oui.... quel que soit le cas de figure, il est impossible.... et ce n'est pas là du VB mais de l'algèbre....).
Si tu repasses par là et que tu lis ceci :
S'il te plait : réexpose ton "problème" avec précision, genre :
"j'ai ceci :..........."
"et je dois faire celà : ........."
pour ton information, par exemple :
Dans le désordre, il existe 15 combinaisons possibles d'éléments pris 2 à 2 dans une série de 6 éléments...
Dans l'ordre ? Beaucoup plus !!!!
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 5 déc. 2006 à 21:26
Bonsoir,
Bonsoir 615490 jmfmarques ,
N'étant pas matheux, j'avais un doute sur une partie de mon code, que je n'ai, donc, pas proposé.
ça me rassure.
Le topic de =116697 jcg56123 est quand même assez éloquent:
"J'ai un petit exercice à faire pour l'école"....demande de toutes les combinaisons possibles.
Allez, encore un topic a oublié.
C'est assez désobligeant de voir le nombre de posts restant sans réponse de la part de l"émetteur du topic.
Enfin ! pour ma part, ça me fait re-bouger les neurones après une journée de boulot de prog...
Sur ce, bonne soirée de programmation à tous,
et dans l'attente de trouver un topic intéressant.....et dans mes compétences.
cs_jcg56123
Messages postés6Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention29 mai 2009 5 déc. 2006 à 21:34
Ouf là ... Après un jour d'absence, je reviens sur mon topic et que vois-je .... ça "geule" de partout sans aucune raison.
C'est justement en pourrissant un topic de commentaire pareils que j'aurais envie de ne pas y répondre et d'aller voir ailleur.
Critiquer le fait que des étudiants viennent chercher de l'aide... Je n'ademet pas, je ne demande pas toutes les solutions mais une piste.
Bon ... Maintenant je continue mon post sagement ...
Je récapitule depuis le début ce que ce bout de code est sencé faire:
Le but est remplir un tableau indicé de paires de nombres de 0-> (indice max/2) et que ses nombres soient placés à des endroits aléatoires du tableau. Le but étant de créer mon tableau de variables pour un mémory.
Et avant que l'on ne vienne me dire qu'il existe une source mémory sur VB france. Voici déja ma réponse: "J'ai été consulter cette source, TRES complète. Mais malheureusement trop complexe à comprendre pour mes faibles connaissances en VB"
Merci d'avance à ceux qui pourront apporter quelques bout de codes à mon problème
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 5 déc. 2006 à 22:39
Alors, jeune ami impatient (et je commence à l'être également) !
Ton code ? Je l'ai déjà fait hier....
Mais je n'aime vraiment pas le flou artistique ....
Si tu veux donc ce code, mon vieux, tu vas répondre à ceci (car c'est bien toi qui a écrit, avec ton 1er post : "Le but du programme est de remplir un tableau de 12 indices avec 6 paires de nombres allant de un à six. Je sais qu'il existe aussi le IsEmpty pour vérifier si une variable est vide. Normalement je n'ai pas encore vu de fonction pour mélanger un tableau.")
Et si ces précisions étaient inutiles, pourquoi les avoir exposées, alors , hein ?
Allons-y alors :
Question 1 : que te demande-t-on de répartir exactement ?
a) des paires constituées des combinaisons, 2 à 2, de nombres pris dans une série de 1 à 6, sans tenir compte de l'ordre de la paire (ainsi : la paire ab = la paire ba) ? pour ton information, on obtiendrait dans ce cas 15 paires possibles et pas 12 !....
b) des paires constituées des combinaisons, 2 à 2, de nombres pris dans une série de 1 à 6, en tenant compte de l'ordre de la paire (ainsi : la paire ab = la paire ba) ? pour ton information, on obtiendrait dans ce cas un nombre beaucoup plus élévé de paires possibles....
c) finalement, je me suis mal expliqué et on me demande de partir de 12 chiffres différents. C'est moi qui en ai déduit qu'il fallait diviser 12 par 2....... (ce qui est faux !!!!). Et là encore : en tenant compte de l'odre ou sans en tenir compte ?
Une fois ceci clarifié (et les paires possibles déterminées, donc), leur présentation dans un ordre aléatoire viendra.
Voilà, jeune ami...
C'est mon dernier mot.
Tu prends ou ne prends pas...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 5 déc. 2006 à 22:44
Ps : j'ai vu ou tu "vas voir ailleurs" et où, compte tenu de tes explications non comprises (bien évidemment) quelqu'un a fini par te proposer un code venant encore d'ailleurs pour "mixer des cartes à jouer".
J'ai bien ri dans ma barbe..(si tu veux savoir)...
Voilà donc une affaire au demeurant simple, qui traîne ici et là depuis quelques jours....
A toi de voir ....