Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

Bonjour , je m'occupe d'une tobolla , j'ai 70 ticket à faire gagner , je cherche un programme qui me donne 3 chiffres , en 1 et 70 aléatoirement et que les chiffres ne se répétent pas .Sur qu'elle site je pourrais trouvais ça.

  • Modérateurs
Posté(e)

L'algorithme est très simple si le langage que tu as choisi dispose d'une fonction random (en général, elle restitue à chaque appel un nombre aléatoire compris entre 0 inclus et 1 exclu, qu'il te suffit de multiplier par 70 et arrondir à l'entier supérieur). Il ne te reste plus qu'à effectuer autant de tirages que nécessaire pour obtenir 3 résultats distincts. :P

 

// initialisations
ntirages = 0
boucle i de 1 à 70
  tirage(i) = faux
  fin-boucle
// itération
tant que ntirages < 3
  xtirage = partie entière ( 70 * random ) + 1
  si tirage(xtirage) = faux
  tirage(xtirage) = vrai
  ntirages++
  fin-si
  fin-tant que
// édition des résultats
boucle i de 1 à 70
  si tirage(i) = vrai
  print i
  fin si
  fin-boucle
fin-programme

Posté(e)

Le même mais avec une complexité O(n) (parce qu'il n'y a pas de re-bouclage en cas de tirage d'un numéro déjà sorti...) et avec un affichage dans l'ordre du tirage

// initialisations
ntirages = 0
boucle i de 1 à 70
ajouter_un_element ( pasencoresorti , i)
fin-boucle

// tirages
tant que ntirages < 3 et taille ( pasencoresorti ) > 0
index = partie entière ( random * taille ( pasencoresorti ) )
elementsorti = retirer_un_element ( pasencoresorti, index )
ajouter_un_element ( tableau_des_tirages, elementsorti )
ntirages = ntirages + 1
fin-tant-que

// affichage
boucle i de 1 à 3
afficher tableau_des_tirages[i]
fin-boucle

Après, il faut trouver un langage qui sache manipuler autre chose que des tableaux (encore que, même avec des tableaux il est possible de conserver ce comportement), parce qu'avec des "collections" c'est plus facile d'ajouter / retirer des éléments...

  • Modérateurs
Posté(e)

Bravo (peut-être) KC, car tant que tu ne nous a pas dévoilé la teneur des fonctions ajouter_un_element, retirer_un_element et afficher, nous restons Gros-Jean comme devant* ! :P

 

 

 

 

__________

* Être Gros-Jean comme devant : ne pas être plus avancé

Posté(e)

Voilà l'implémentation Javascript :

http://kewlcat.no-ip.org/tests/tirages.html

 

Les fonctions en question (ajouter et retirer) sont parfois appelées push() et pop() ou append() et remove() ou encore add() et del() ... Ca dépend des langages et ça dépend des objets disponibles...

En Javascript j'utilise push() et splice(). splice présente l'interêt de retourner l'élément supprimé ce qui permet de l'ajouter au vol à la collection de chiffres tirés.

  • Modérateurs
Posté(e)

Mais bien sûr...

J'ai été piégé par ta francisation (il faut dire que je l'avais cherché, avec la mienne) !

 

Et il est vrai que la solution JavaScript est la plus facilement “habillable” visuellement.

Posté(e)

C'est vrai, fallait pas commencer avec ton pseudo-code ! C'est ta faute :-P

Bon, maintenant, le plus fun ça va être de transcrire ça en C... Pas l'algo en lui-même parce qu'il est finalement plutôt simple, mais coder la structure de données qui va servir à émuler la collection :-)

  • Modérateurs
Posté(e)

Mais dis-moi, avec les paramètres 6 et 49 en entrée de ton module JavaScript, tu vas pouvoir construire tes grilles du loto pour le tirage spécial du vendredi 13 ?;o)

Posté(e)

Je vais devoir ajouter un test "si nbValeurs = 6 et valeurMax = 49 alors afficher ('Je prends un pourcentage sur vos gains au LOTO')", tu crois ?

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...