(tableau) déterminer case ayant la plus haute valeur

Résolu/Fermé
kingston2 Messages postés 126 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 27 mai 2015 - 22 oct. 2014 à 20:37
kingston2 Messages postés 126 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 27 mai 2015 - 22 oct. 2014 à 23:43
Bonjour, Je dois faire un tableau de 10 valeurs, montrer quelle est la plus grande valeur notée , et montrer à quelle position du tableau se trouve la plus grande valeur. J'ai un problème avec cette deuxième étape...

Voici mon code:

Module Module1

    Sub Main()
        Dim tabvaleurs(9) As Integer
        Dim intplusgrande As Integer = 0
        Dim index As Integer
        Dim element As Integer

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

        For Each element In tabvaleurs
            If element > intplusgrande Then
                intplusgrande = element
            End If
        Next
        Console.WriteLine("La plus grande valeur est de :" & intplusgrande)
        Console.WriteLine("Elle se trouve à la position numéro:" & 

        Console.ReadKey()


    End Sub

End Module



Je ne sais pas comment afficher la position du plus grand nombre , pouvez-vous m'aider , s-il vous-plaît ?

Merci

A voir également:

1 réponse

Bonjour,

Essayes avec ce code

        Dim ipos as Integer
index=0 : intplusgrande=0
For Each element In tabvaleurs
If element > intplusgrande Then
intplusgrande = element
ipos=index
End If
index=index+1
Next
Console.WriteLine("La plus grande valeur est de :" & intplusgrande)
Console.WriteLine("Elle se trouve à la position numéro:" & ipos)


sinon celui-ci marche bien

 
intplusgrande=0
For index=0 to 9
element=tabvaleur(index)
If element > intplusgrande Then
intplusgrande = element
Exit For
End If
Next
Console.WriteLine("La plus grande valeur est de :" & intplusgrande)
Console.WriteLine("Elle se trouve à la position numéro:" & index)


A+
0
kingston2 Messages postés 126 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 27 mai 2015
22 oct. 2014 à 23:14
ça n'a pas marché , je ne comprends pas pourquoi
0
Fais voir ce que tu as ecrit...
0
kingston2 Messages postés 126 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 27 mai 2015
22 oct. 2014 à 23:25
Module Module1

    Sub Main()
        Dim tabvaleurs(9) As Integer
        Dim intplusgrande As Integer = 0
        Dim index As Integer = 0
        Dim intposition As Integer


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

        Next

        For Each element In tabvaleurs
            If element > intplusgrande Then
                intplusgrande = element
                intposition = index
            End If
            index = index + 1
        Next








        Console.WriteLine("La plus grande valeur est de :" & intplusgrande)
        Console.WriteLine("Elle se trouve à la position numéro:" & intposition)

        Console.ReadKey()


    End Sub

End Module
0
Tu dois initialiser index et intplusgrande avant d'entrer dans la boucle For

index=0 : intplusgrande=0
For Each element In tabvaleurs
...

A+
0
kingston2 Messages postés 126 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 27 mai 2015
22 oct. 2014 à 23:35
j'ai corrigé , mais il y a un décalage de 1 entre la position donnée par le programme et celle qui est visible avant d'appuyer entrer.

Par exemble j'ai mis 1000 à la position 3 , et 1 à toutes les autres, mais au lieu de me sortir la position 3 dans le writeline, elle sort 2
0