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

VBScript Discussion :

Trier des caractères dans une chaine bonjour --> bjnooru


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Trier des caractères dans une chaine bonjour --> bjnooru
    Bonjour.
    Je suis en train de faire un programme qui reprend l'algorithme de Hoffman et pour cela, il faudrait que je compte le nombre de caractères dans une chaine.
    Avant de compter le nombre de caractères similaires, j'aimerai trier les caractères de ma chaine par ordre alphabétique avec l'aide d'un tri à bulles.
    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
    23
    24
    25
     
    str="bouche"
    a=mid(str,i,1)
    b=mid(str,i+1,1)
     
     
    i=1
    endesordre=true
     
     
    do while endesordre=true
    endesordre=false
    For i = 1 to len(str)
     
    	if a> b then
    		tmp=b
    		b=a
    		a=tmp
    		endesordre=true
     
    	end if
     
    next
     
    loop
    Ça compile (il me semble) mais str n'a pas mélangé.
    Comment passer de bonjour à bjnooru pour pouvoir compter les occurrences facilement?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    bonjour,

    sachant qu'une chaine peut être transformée en tableau
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim i
    Dim iLen
    Dim aChars()
     
    iLen = Len(inputString)-1
    ReDim aChars(iLen)
     
    For i = 0 to iLen
      aChars(i) = Mid(inputString, i + 1,1)
    Next
    le tri peut se faire de multiples façons :

    http://www.developpez.net/forums/d35...pt-sort-array/

    si tu lis l'anglais, un thread où des forumeurs ont trippé sur le sujet on partagera la note ?

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    Par défaut

    Bubble Sort ou tri à bulle :
    Cet algorithme de tri de tableau est probablement le plus connu à défaut d'être le plus efficace
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Function BubbleSort(arrInt)
    for i = UBound(arrInt) - 1 To 0 Step -1
     for j= 0 to i
      if arrInt(j)>arrInt(j+1) then
                temp = arrInt(j+1)
                arrInt(j+1) = arrInt(j)
                arrInt(j) = temp
            end if
        next
    next 
    BubbleSort = arrInt
    End Function
     
    Dim arrValue 
    arrValue = Array(12,24,51,24,15,35,1000,15,65,418,0,-5,842,-540,-65,75)
    MsgBox Join(BubbleSort(arrValue),","),64,"Tri à bulle"
     
    Dim iLen
    Dim aChars()
    Dim inputString : inputString = "poiuytrezamlkjhgfdsqnbvcxw"
    iLen = Len(inputString)-1
    ReDim aChars(iLen)
     
    For i = 0 to iLen
      aChars(i) = Mid(inputString, i + 1,1)
    Next
    MsgBox Join(BubbleSort(aChars),","),64,"Tri à bulle"
     
    inputstring = "Bonjour"
    iLen = Len(inputString)-1
    ReDim aChars(iLen)
    For i = 0 to iLen
      aChars(i) = Mid(inputString, i + 1,1)
    Next
    MsgBox Join(BubbleSort(aChars),""),64,"Tri à bulle"

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/11/2008, 21h00
  2. Remplacer des caractères dans une chaine interbase 7.5
    Par zaydoun_391 dans le forum InterBase
    Réponses: 1
    Dernier message: 15/04/2008, 16h57
  3. Rajouter des caractères dans une chaine
    Par pymouse dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/05/2007, 17h35
  4. [Tableaux] Supprimer des caractères dans une chaine
    Par ddubois dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2006, 13h53
  5. Réponses: 4
    Dernier message: 29/08/2006, 17h44

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