Afficher une chaine de caractere aléatoirement

sculptured - 18 mai 2013 à 13:46
 sculptured - 18 mai 2013 à 15:24
Bonjour a tous ;)

voila j'essaie de réaliser un exercice qui consiste a entrer une chaine de caractere dans une textbox ensuite d'afficher les caractères encodées dans un tableau dynamique sur une listbox ... jusque la pour moi c'est ok cela fonctionne.

MAIS je dois en même temps afficher dans une autre listbox les mots dans le desordre. merci si quelqu'un peux m'aider :)

exemple : "bonjour les amis"

listbox1

bonjour
les
amis

listbox 2

les
bonjour
amis


je sais que je dois utiliser une fonctione RND et eviter la redondance des mots dans la list 2. mais je n'arrive pas a comprend comme il faut proceder :(

voici mon code que j'ai deja effectué

' je declare un tableau dynamique

Dim str_tableau_de_mot() As String

'je declare une variable de boucle inconditionnel

Dim int_i As Integer

'je declare une variable qui va contenir mes mots

Dim str_phrase_entrer As String

Dim int_indice As Integer

'ma variable va contenir les mots de la boite de texte

str_phrase_entrer = TXT_PHRASE_ENTREE.Text

'j'entre mes mots dans le tableau dynamique, le split va retirer mes espaces entre les mots

str_tableau_de_mot = Split(str_phrase_entrer)

'je crée une boucle afin de lire le contenu de mon tableau jusq'au derniere element de ce dernier et je l'affiche dans une listbox

For int_i = 0 To UBound(str_tableau_de_mot)

LST_MOT_DANS_l_ORDRE.Items.Add(str_tableau_de_mot(int_i))

Next int_i

4 réponses

Utilisateur anonyme
18 mai 2013 à 14:05
Salut,

Utilise plutôt les List(Of String) plus facile à gérer que les tableaux.
Rnd est obsolète, penche toi sur la classe Random.
LST_MOT_DANS_l_ORDRE.Items.Add(str_tableau_de_mot(int_i))

AddRange évite des boucles inutiles pour alimenter tes listbox.
Des explications supplémentaires et des exemples sont dispo sur msdn.
0
merci a toi mais dans le but du cour je suis obliger d'utilisé des tableaux... la difficultés que je rencontre c'est que je ne sais pas utiliser les fonctions aléatoires pour cette exercices. j'ai un niveau assez faible car je suis rentré en cours d'année en bac info de gestion donc je n'ai pas toute les compétences nécessaire pour effectuer l'exercice mais j'essaie de relever le défis. pourrais tu m'expliquer comment l'utilisé correctement pour l'exercice??? merci a toi
0
Utilisateur anonyme
18 mai 2013 à 15:11
Bonjour,
Essaye ce code avec une ListBox1 dans ce cas:
        Dim Str As String = "Tu n'auras pas ce texte dans l'ordre de saisie"
        Dim Aléatoire As Integer = 0
        Dim Tableau() As String = Split(Str)
        Dim ListTemp As New ListBox

        ListBox1.Items.Add(Str)
        For i As Integer = 0 To UBound(Tableau)
            ListTemp.Items.Add(Tableau(i))
        Next
        Do While ListTemp.Items.Count > 0
            Randomize()
            Aléatoire = CInt(Int(ListTemp.Items.Count - 1 * Rnd()))
            ListBox1.Items.Add(ListTemp.Items(Aléatoire))
            ListTemp.Items.RemoveAt(Aléatoire)
        Loop
        ListTemp = Nothing



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
merci bcp
0
Rejoignez-nous