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

VB.NET Discussion :

Fonction Mélangeur ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut Fonction Mélangeur ?
    Bonsoir,

    Je cherche une fonction ou un algo qui me permette de melanger les lettres et/ou les chiffres d'une donnee texte.
    Par exemple, la donnee.text originale = "1234567890" et apres melange, c'est la meme longueur mais avec un valeur "??????????" ou les ? correspondent à chacune des chiffres mais dans le desordre. (ex: 0573192468)

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Par défaut
    Salut,

    Il y aurait plusieurs façon de procéder, en voici une que je viens d'écrire rapidement.

    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
     
        Private Function Melanger(ByVal tcChaine As String, ByVal tnRandPrecision As Integer) As String
            Dim lcTemp As String
            Dim lcChaineMelanger As New System.Text.StringBuilder
            Dim lnRand1 As Integer
            Dim lnRand2 As Integer
     
            lcChaineMelanger.Append(tcChaine)
            For liChar As Integer = 1 To tnRandPrecision
                ' Générer un nombre aléatoire pour la position dans la chaîne
                ' Entre 0 et la longueur de la chaîne - 1
                lnRand1 = (tcChaine.Length - 1) * Rnd()
                lnRand2 = (tcChaine.Length - 1) * Rnd()
     
                ' Permutation des chaînes
                lcTemp = lcChaineMelanger(lnRand1)
                lcChaineMelanger(lnRand1) = lcChaineMelanger(lnRand2)
                lcChaineMelanger(lnRand2) = lcTemp
            Next
     
            Return lcChaineMelanger.ToString()
        End Function
    Ensuite tu appel la fonction comme suit :

    ChaineMelanger = Melanger("123456", 10)

    Plus le chiffre passé est élevé, plus la chaine est mélangé...

    a+

  3. #3
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Merci Kiboumz
    Ca à l'air d'etre correct, et je vais tester ton code, voire l'améliorer.

  4. #4
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    J'ai corrige juste comme cela pour la generation aleatoire et ca roule nickel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Randomize()
    lnRand1 = CInt((tcChaine.Length - 1) * Rnd())
    Randomize()
    lnRand2 = CInt((tcChaine.Length - 1) * Rnd())

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    randomize n'est necessaire qu'une fois au debut du programme

    sympa la solution d'inversement, moi j'aurais vidé une collection de caractère ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Citation Envoyé par sperot51
    randomize n'est necessaire qu'une fois au debut du programme
    C'est pour être vraiment sûr que ca randomize bien

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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