(tableau) valeur plus grande mais en windows form [Résolu/Fermé]

Signaler
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
-
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
-
Bonjour, j'ai un problème à la même question que tout à l'heure , mais cette fois , c'est en windows form. Je dois toujours faire un tableau de 10 valeurs, qui dit quelle est la plus grande valeur, et à quelle position elle se trouve, mais je ne sais pas comment le terminer en windows form.

Public Class Form1
    Dim tabvaleurs(9) As Integer

    Dim index As Integer



    
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btvaleur.Click
        tabvaleurs(index) = txtvaleur.Text
        index = index + 1
        txtvaleur.Clear()
        LabelReste.Text = "Reste:" & tabvaleurs.Count - index
        If index = 10 Then
            'désactivation du bouton.
            btvaleur.Enabled = False
        End If
    End Sub

    Private Sub btresultat_Click(sender As Object, e As EventArgs) Handles btresultat.Click
        'identifier plus grande valeur
        Dim intplusgrande As Integer = 0
        Dim intposition As Integer
        index = 1 : intplusgrande = 0
        For Each element In tabvaleurs
            If element > intplusgrande Then
                element = intplusgrande
                intposition = index
            End If
            index = index + 1
        Next
        intposition = txtposition.Text
        intplusgrande = txtplusgrande.Text

    End Sub
End Class


merci



2 réponses

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 594
Bonjour,

Oublie la boucle For Each lorsque tu boucles sur des tableaux. For Each est à utiliser sur des collections.

Lorsque tu parles de variable tableau, tu parles d'une variable qui associe, à un indice, une valeur :
Tab(Indice) = Valeur


Tu veux repérer l'indice de la valeur la plus grande. Il te faut donc boucler sur les tous les indices de ta variable tableau.

For indice = 0 To 9

Next


Ensuite, tu testes si la valeur est la + grande :
If Tab(Indice) > LaPlusGrandeTemp Then


Et tu stockes la valeur ET l'indice dans deux variables :
LaPlusGrandeTemp = Tab(Indice)
IndiceRecherche = Indice


Pour cela, il te faut donc deux variables supplémentaires :
Dim LaPlusGrandeTemp As Integer
Dim IndiceRecherche As Integer


A toi de jouer!
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015

Merci beaucoup !