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

Fortran Discussion :

Génération nombres aléatoires différents


Sujet :

Fortran

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut Génération nombres aléatoires différents
    Bonjour à tous,

    Je vous explique mon problème sur un script programmé en FORTRAN 90.
    Un tableau de N lignes est rempli par lecture de fichier. Ensuite, je souhaite tirer de manière aléatoire M lignes de ce tableau. Je génère avec la fonction rand() M nombres entiers qui vont correspondre aux lignes que je vais tirer de mon tableau.
    Mon problème est que je ne veux pas tirer 2 fois la même ligne et la fonction rand() peut me renvoyer selon les cas (selon si le nombre M se rapproche du nombre de lignes N de mon tableau), deux fois le même nombre et donc je tire deux fois la même ligne ...

    Est-ce-que quelqu'un aurait une solution à ce problème ..?

    Merci d'avance !

  2. #2
    Membre éclairé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Août 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 57
    Par défaut
    Bonjour,
    je suis à peu près certain qu'il y a un algo performant pour faire ça, mais comme je ne le connais pas, je propose ce qui suit:

    1/ On génère un tableau contenant tous les numéros de lignes acceptables (N valeurs donc)
    2/ On sélectionne aléatoirement un élément de ce tableau
    3/ On enlève la valeur correspondante (décalage de toutes les valeurs > au tirage)
    4/ on se retrouve alors avec un tableau de N-1 valeurs, toutes non encore tirées. Et on repart en 2

    Je maintiens, je n'ai pas de garantie d'optimalité de la chose, mais ça devrait marcher.

    Cordialement,

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Autre piste : soumettre la question, qui en fait n'a pas vraiment à voir avec Fortran, à un des sous forum de https://www.developpez.net/forums/f2...mathematiques/

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut
    Merci pour vos réponses je vais tester ça ! J'ai pensé poster ce message sur le forum Fortran car peut-être qu'un argument de la fonction rand() m'échappait ou qu'il existait une autre fonction plus optimale pour mon problème mais merci aussi pour le lien !

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

Discussions similaires

  1. [Math / Random] Génération nombre aléatoire compris entre deux bornes
    Par oligig dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 30/06/2013, 17h23
  2. Génération de nombres aléatoires différents
    Par The Wretched dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/08/2009, 18h16
  3. Nombres aléatoires différents
    Par fikou dans le forum VB.NET
    Réponses: 7
    Dernier message: 07/08/2007, 08h02
  4. Tirer 3 nombres aléatoires différents
    Par uado dans le forum ASP
    Réponses: 3
    Dernier message: 23/05/2006, 10h30
  5. Génération de n nombres aléatoires différents
    Par progfou dans le forum Probabilités
    Réponses: 3
    Dernier message: 13/12/2005, 18h29

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