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

Développement Web avec .NET Discussion :

Compter les consonnes ?


Sujet :

Développement Web avec .NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Compter les consonnes ?
    Bonjour, j'essaye de coder une fonction appelée qui permet de compter les consonnes avec en entrée la phrase à traiter et en sortie le nombre de consonnes, j'ai préalablement codé une fonction permettant de compter les voyelles mais je bloque pour les consonnes. Pourriez vous m'aider.

    Merci d'avance !

    Code vb.net : 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
    Function CompteVoyelles(ByVal Phrase As String) As Integer
            Dim NombreVoyelle As Integer
            Dim i As Integer
            Dim j As Integer
            Dim voyelles(100) As String
            Dim tabvoyelle() = New Char() {"a", "e", "i", "o", "u", "y", "é", "è", "ê", "à", "ï", "ù", "ô", "A", "E", "I", "O", "U", "Y"}
     
            NombreVoyelle = 0
     
            For i = 0 To Phrase.Length - 1
                'Si on ajoute des voyelles à tester on augmente le nombre de j
                For j = 0 To 18
                    If Phrase(i) = voyelles(j) Then
                        NombreVoyelle = NombreVoyelle + 1
                    End If
                Next
            Next
            Return NombreVoyelle
        End Function

    Function CompteConsonnes(ByVal Prase As String) As Integer

    ........ JE BLOQUE .........

    End Function

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 40
    Points
    40
    Par défaut
    Salut,

    Pourquoi ne pas utiliser une expression rationnelle et Regex ? https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx

    Après, il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim rgx As New Regex("[bcdfghjklmnpqrstvwxz]")
    Dim sentence As String = "Ici je place mon texte que je veux tester"
    Console.WriteLine(rgx.Matches(sentence).Count)
    Console.ReadLine()
    Pour les voyelles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rgx As New Regex("[aeiouyéèêàïùôAEIOUY]")

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir pris le temps de me répondre, je dois retourner les nombre de consonnes à une fonction appelante mais quel est la variable à retourner avec la fonction return ?

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 40
    Points
    40
    Par défaut
    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Return rgx.Matches(sentence).Count
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim returnCount As Integer = rgx.Matches(sentence).Count
    Return returnCount
    rgx contient ton expression rationnelle
    Matches va récupérer les expressions qui correspondent à l'expression rationnelle
    Count est le nombre de valeur renvoyée par Matches

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir pris le temps de me répondre, je dois retourner les nombre de consonnes à une fonction appelante mais quel est la variable à retourner avec la fonction return ?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup !!!

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 40
    Points
    40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function CompteConsonnes(ByVal Prase As String) As Integer
        Dim rgx As New Regex("[bcdfghjklmnpqrstvwxz]")
        Dim returnCount As Integer = rgx.Matches(Prase).Count
        Return returnCount
    End Function

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Parfait sa marche ! un dernière question,

    Je cherche aussi à créer une fonction qui compterait les mots de ma phrase, pour ce faire j'ai écris du code pour normaliser ma phrase mais celui-ci n'aboutit pas et je ne comprend pas pourquoi
    y aurai t'il une erreur flagrante?


    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Function NormalisePhrase(ByVal Phrase As String) As String
     
            Dim phrase_normalisee As String
            Dim i As Integer
            Dim L As Integer
            Dim tabPhraseNormalisee() As String
     
            'on remplace les signes de ponctuation par des espaces
            phrase_normalisee = Replace(Phrase, ".", "")
            phrase_normalisee = Replace(Phrase, ",", "")
            phrase_normalisee = Replace(Phrase, ";", "")
            phrase_normalisee = Replace(Phrase, ":", "")
            phrase_normalisee = Replace(Phrase, "'", "")
            phrase_normalisee = Replace(Phrase, "(", "")
            phrase_normalisee = Replace(Phrase, ")", "")
            phrase_normalisee = Replace(Phrase, "!", "")
            phrase_normalisee = Replace(Phrase, "?", "")
            phrase_normalisee = Replace(Phrase, "-", "")
     
            'on supprime les espaces au début et à la fin de la phrase
            phrase_normalisee = Trim(phrase_normalisee)
     
     
            L = phrase_normalisee.Length
            i = 0
     
            Do
                If phrase_normalisee(i) = " " Then
                    Do
                        If phrase_normalisee(i + 1) = " " Then
                            phrase_normalisee = phrase_normalisee.Remove(i, 1)
                            L = L - 1
                        End If
                    Loop Until phrase_normalisee(i + 1) <> " "
     
                End If
                i = i + 1
            Loop While i < L - 1
     
            Return phrase_normalisee
     
        End Function
     
        Function CompteExtraitMots(ByVal Phrase As String, ByRef Mots() As String) As Integer
     
            'Il faudrait spliter.....
        End Function

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 40
    Points
    40
    Par défaut
    Pense à utiliser les balises de code, svp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function CompteExtraitMots(ByVal Prase As String) As Integer
        Dim rgx As New Regex("\w+")
        Dim returnCount As Integer = rgx.Matches(Prase).Count
        Return returnCount
    End Function
    \w : caractère lettre ou chiffre
    + : 1 fois ou plus

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui merci du conseil, je découvre tout juste ce forum et son fonctionnement...

    Encore un grand merci pour votre aide!! bonne journée !

Discussions similaires

  1. Compter les syllabes d'un mot français
    Par david_chardonnet dans le forum Langage
    Réponses: 4
    Dernier message: 09/05/2014, 10h57
  2. Réponses: 19
    Dernier message: 03/08/2004, 10h26
  3. [langage] compter les retour à la ligne
    Par Kinethe dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2004, 16h36
  4. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17
  5. Compter les valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 6
    Dernier message: 30/03/2004, 13h29

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