Tri par Ordre Alphabétique

Contenu du snippet

Module Module1
    Sub Main()
        Dim r As Char 'variable pour la fonction Sans-Accent
        Dim text, Mot, temp, temp1 As String 'variables de transfert temporaire
        Dim Nom(5) As String  'Tableau véritable
        Dim Name(5) As String 'Tableau de traitement

        'Saisies

        For i As Integer = 1 To 5
            Console.Write("tapez votre mot    N° " & i & "    ")
            text = Console.ReadLine         'Saisie d'un mot dans la variable de transfert
            Nom(i) = text                   'Remplir le tableau véritable
            Mot = ""                        'Vider la variable de transfert
            For j As Integer = 1 To Len(text)
                r = Sans_Accents(Mid(text, j, 1))
                Mot &= r
            Next
            Name(i) = Mot.ToLower            'Remplir le tableau de traitement
        Next

        'Tri à bulle
        For i As Integer = 1 To 4
            For j As Integer = i + 1 To 5
                If Name(i) > Name(j) Then   'Traitement
                    temp1 = Name(i)         'Swap sur le tablau de traitement
                    Name(i) = Name(j)
                    Name(j) = temp1

                    temp = Nom(i)           'Swap sur le tableau véritable
                    Nom(i) = Nom(j)
                    Nom(j) = temp
                End If
            Next
        Next

        'Affichage
        Console.WriteLine()
        For i As Integer = 1 To 5
            Console.WriteLine(Nom(i))
        Next

        Console.ReadLine()

    End Sub

    Function Sans_Accents(ByVal Lt As Char) As Char
        Dim Res As Char
        Select Case Lt
            Case "à", "â", "ä"
                Res = "a"
            Case "é", "è", "ê", "ë"
                Res = "e"
            Case "î", "ï"
                Res = "i"
            Case "ô", "ö"
                Res = "o"
            Case "ù", "û", "ü"
                Res = "u"
            Case "ÿ"
                Res = "y"
            Case "ç"
                Res = "c"
            Case Else
                Return Lt       'Retourne les caractères non mentionnés     
        End Select
        Return Res              'Retourne les caractères mentionnés
    End Function

End Module

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.