Difficulté avec les tableaux visual basic.

Résolu
kingston2 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'ai fait ce programme qui contient un tableau comptant 10 notes d'examens(de 0 à 10) , et qui ensuite indique le nombre d'élèves à eu chaque note.

Module Module1

Sub Main()
'déclaration des variables
Dim tabnotes(15) As Integer
Dim index = 0
Dim intnote As Integer
Dim tabcompteur(10) As Integer

'le remplissage du tableau
For index = 0 To tabnotes.Count - 1
Console.WriteLine("entrez une note:")

intnote = Console.ReadLine()

tabnotes(index) = intnote
Next

'le nombre d'élèves qui ont eu chaque note.
For Each element In tabnotes
tabcompteur(element) = tabcompteur(element) + 1



Next
For index = 0 To tabcompteur.Count - 1
'affichage du résultat
Console.WriteLine("le nombre de chiffre pairs est de " & index & "est :" & tabnotes(index))
Next
Console.ReadKey()
End Sub

End Module


Je dois maintenant faire un programme qui répond à l'énoncé suivant:

Écrire un programme «Visual basic» qui remplit un tableau de 10 éléments, compte et affiche le nombre de chiffres pairs et des chiffres impairs dans ce tableau.

Je ne sais pas comment m'y prendre... Pouvez-vous m'aider s-il vous plait ?

merci



A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Comment définir un nombre pair en VB?
Tout simplement grâce à l'opérateur Mod.
Mod retourne le reste de la division de deux nombres.
Un nombre pair est un nombre qui, divisé par 2, ne donne pas de reste. Donc, si le reste de la division de ton nombre par 2 est égal à 0, ton nombre est pair. S'il est différent de 0, il est impair.
En code cela donne :

Dim monNombre As Integer
Console.WriteLine("entrez une note:")
monNombre = Console.ReadLine()
If monNombre Mod 2 = 0 Then
    Console.WriteLine("Nombre pair")
Else
    Console.WriteLine("Nombre impair")
End If
0
kingston2 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
ah ok c'est clair maintenant . Mais pour l'intégrer à un tableau , est-ce que je dois ajuster le code ?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Tu dois :
- remplir une variable tableau avec 10 valeurs numériques
- boucler sur cette variable et regarder les nombres pairs et impairs
- les nombres pairs tu les stocke dans une variable tableau, les nombres impairs dans une autre
- tu affiches les résultats...

Pour compter le nombre de valeur, base toi sur UBound...
0
kingston2 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
Sub Main()
        'déclaration des variables
        Dim tabvaleurs(9)
        Dim index As Integer = 0
        Dim tabcompteurpair(9) As Integer

        'Remplissage du tableau

        For index = 0 To tabvaleurs.Count - 1
            Console.WriteLine("Entrez une valeur:")
            tabvaleurs(index) = Console.ReadLine()
        Next

        'déterminer chiffres pairs/impairs

        
        


    End Sub



J'ai fait ça jusqu'à maintenant. Je ne sais pas comment faire pour relier les IF pairs et impairs au valeurs du tableau.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Tu ne va pas reboucler sur toutes les valeurs. Profite donc de ta boucle pour faire ton test :
For index = 0 To tabvaleurs.Count - 1
    Console.WriteLine("Entrez une valeur:")
    tabvaleurs(index) = Console.ReadLine()
    If monNombre Mod 2 = 0 Then
        'ICI tu alimentes une variable tableau Pair()
        'en utilisant l'instruction ReDim et le mot clé Preserve
    Else
        'ICI tu alimentes une variable tableau Impair()
        'en utilisant l'instruction ReDim et le mot clé Preserve
    End If
Next


EDIT : erreur de copié-collé... Le bon code serait :
For index = 0 To tabvaleurs.Count - 1
    Console.WriteLine("Entrez une valeur:")
    tabvaleurs(index) = Console.ReadLine()
    If tabvaleurs(index) Mod 2 = 0 Then 'Erreur ICI Hoouuuu!!!
        'ICI tu alimentes une variable tableau Pair()
        'en utilisant l'instruction ReDim et le mot clé Preserve
    Else
        'ICI tu alimentes une variable tableau Impair()
        'en utilisant l'instruction ReDim et le mot clé Preserve
    End If
Next
0
kingston2 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
je n'ai pas encore appris les termes redim , et preserve
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Alors utilises 2 variables de type String.

Sub Main()
        'déclaration des variables
        Dim tabvaleurs(9)
        Dim index As Integer = 0 
        Dim NombresPairs As String
        Dim NombresImpairs As String
        Dim CptPair As Integer
        Dim CptImpair As Integer
        'Remplissage du tableau

        'La boucle
        For index = 0 To tabvaleurs.Count - 1

            'le remplissage du tableau
            Console.WriteLine("Entrez une valeur:")
            tabvaleurs(index) = Console.ReadLine()

             'déterminer chiffres pairs/impairs
            If tabvaleurs(index) Mod 2 = 0 Then

                'Traitement nombres pairs
                NombresPairs = NombresPairs & Chr(13) & tabvaleurs(index)
                CptPair = CptPair + 1
            Else
                'Traitement nombres impairs
                NombresImpairs = NombresImpairs & Chr(13) & tabvaleurs(index)
                CptImpair = CptImpair + 1
            End If

        Next
        
        'affichage du résultat  
        Console.WriteLine("le nombre de chiffre pairs est de " & CptPair & ". Il s'agit de : " & NombresPairs)
        Console.WriteLine("le nombre de chiffre impairs est de " & CptImpair & ". Il s'agit de : " & NombresImpairs)
End Sub


Mais je te recommande vivement de te pencher sur ReDim, Preserve, UBound, LBound. Ce sont vraiment les bases pour travailler avec des variables tableaux.

Ensuite, dans cette procédure, tu laisses le choix à l'utilisateur de saisir lui même les nombres. Ils pourraient être déterminés aléatoirement par la procédure elle même. Pour cela, regarde du côté de Randomize. Si tu veux un exemple n'hésite pas.
0