Accueil > Forum > > > > Tableau d'integer et valeur max
Tableau d'integer et valeur max
samedi 17 février 2007 à 17:02:38 |
Tableau d'integer et valeur max

olivier857
|
Bonjour à tous, Je cherche à créer un tableau d'integer, a y stocker des données dans une boucle puis récupérer la valeur max du tableau de données. Mais je ne sais pas comment écrire ce code. Si quelqu'un pouvait me donner un exemple ca serait sympa. Merci d'avance
|
|
samedi 17 février 2007 à 17:47:39 |
Re : Tableau d'integer et valeur max

jmfmarques
|
A quel étape rencontres-tu une difficulté ?
- pour créer un tableau ? - pour alimenter le tableau ? - pour le redimensionner en cas de besoin ? - pour lire dans le tableau la valeur la plus grande ?
Je voudrais déjà te faire remarquer qu'il serait adroit, pour déterminer la valeur la plus grande, de ne pas attendre d'avoir rempli ton tableau pour y relire dans une boucle !
Il te suffit d'une variable dont la valeur ne change que si la nouvelle donnée lue (avant même de mettre dans un tableau) est d'une valeur supérieure à celle déjà donnée à la variable !
|
|
samedi 17 février 2007 à 18:03:08 |
Re : Tableau d'integer et valeur max

mortalino
|
Salut, voici une fonction, t'as qu'à juste modifier la Sub Exemple :  Sub Exemple() Dim i As Long Dim MyList(1 To 10) As String MyList(1) = "1" MyList(2) = "2" MyList(3) = "4" MyList(4) = "8" MyList(5) = "7" MyList(6) = "3" MyList(7) = "9" MyList(8) = "5" MyList(9) = "0" MyList(10) = "6" MsgBox ValMax(MyList) 'retourne 9 End Sub
Function ValMax(ByRef Liste() As String) As Long Dim i As Long, j As Long Dim Temp As String Dim ListeTemp() As String: ListeTemp = Liste For i = LBound(ListeTemp) To UBound(ListeTemp) - 1 For j = i + 1 To UBound(Liste) If ListeTemp(i) > ListeTemp(j) Then Temp = ListeTemp(j) ListeTemp(j) = ListeTemp(i) ListeTemp(i) = Temp End If Next j Next i ValMax = ListeTemp(UBound(ListeTemp)) End Function
 ~ Mortalino ~ Colorisation automatique@++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
samedi 17 février 2007 à 18:16:15 |
Re : Tableau d'integer et valeur max

casy
|
Je ne comprend pas ta double boucle Mortalino ???
Pour cherche le max, une seule boucle suffit :
ValMax = ListeTemp(LBound(ListeTemp)) For i = LBound(ListeTemp) +1 to UBound(ListeTemp) if ListeTemp(i) > ValMax then ValMax = ListeTemp(i) Next
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
|
|
samedi 17 février 2007 à 18:27:18 |
Re : Tableau d'integer et valeur max

mortalino
|
et non Casy, double boucle obligatoire. Une boucle pour prendre la première valeur, et l'autre boucle pour faire le test avec le restant, ensuite, la première boucle passe à la deuxième valeur, puis le seconde boucle effectue à nouveau une comparaison avec le restant, et ainsi de suite.. Fait le test avec ta boucle, concours de circonstances je pense pour le 0 (en tant que plus petite valeur), mais 6 en tant que plus grande valeur, ça le fait pas trop ;) Pour info, il n'apparait pas encore, mais j'en ai fait un snippet (déposé), avec la plus grande ou la plus petite valeur :  Function ExtremValue(ByRef Liste() As String, bValMax As Boolean) As String ' Si bValMax est à True, c'est la plus grande valeur de la liste ' qui est donnée, à false c'est donc la plus petite valeur Dim i As Long, j As Long Dim Temp As String Dim ListeTemp() As String: ListeTemp = Liste ' ici je double le tableau pour ne pas affecter le tableau d'origine For i = LBound(ListeTemp) To UBound(ListeTemp) - 1 For j = i + 1 To UBound(Liste) If ListeTemp(i) > ListeTemp(j) Then Temp = ListeTemp(j) ListeTemp(j) = ListeTemp(i) ListeTemp(i) = Temp End If Next j Next i If bValMax = True Then ExtremValue = ListeTemp(UBound(ListeTemp)) Else ExtremValue = ListeTemp(LBound(ListeTemp)) End Function
Sub Exemple() Dim MyList(1 To 10) As String MyList(1) = "1" MyList(2) = "2" MyList(3) = "4" MyList(4) = "8" MyList(5) = "7" MyList(6) = "3" MyList(7) = "9" MyList(8) = "5" MyList(9) = "0" MyList(10) = "6" MsgBox ExtremValue(MyList, True) 'retourne 9 MsgBox ExtremValue(MyList, False) 'retourne 0 End Sub
 ~ Mortalino ~ Colorisation automatique@++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
samedi 17 février 2007 à 18:35:43 |
Re : Tableau d'integer et valeur max

casy
|
Ben chez moi, ma fonction marche nickel, à la différence que je travaille sur des nombres et non pas sur des chaines de caractères
Pour déterminer une valeur max, c'est quand même mieux des nombres. Travaillez sur des chaines ça pervertie le système . Déjà qu'il est assez pervert comme ça......
Ta double boucle est valable si tu veux trier un tableau. Pour récupérer uniquement la (première) valeur max, la double boucle n'est pas utile.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
|
|
samedi 17 février 2007 à 18:41:00 |
Re : Tableau d'integer et valeur max

jmfmarques
|
Ouais... Attendons qu'Olivier revienne ... Si ça se trouve, il n'a même pas besoin d'un tableau ... A moins que ce tableau ne doive lui servir à d'autres choses (bien évidemment), il n'est nul besoin d'en dresser un pour aller chercher la plus grande valeur de données qu'il serait bien forcé de lire quelque part pour alimenter son tableau. Une autre fois : si tableau destiuné à d'autres fins, oui, sinon : NON ...
Maintenant, tableau pour tableau, je suis d'accord avec Casy, : une seulz boucle suffit, accompagnée d'une variable..
|
|
samedi 17 février 2007 à 18:41:41 |
Re : Tableau d'integer et valeur max

mortalino
|
Désolé mais j'ai remplacé mon tableau String en Long, c'est pareil, 6 est le gagnant avec ta simple boucle. As tu bien mélangé les nombres ? C'est mathématique, il en faut deux. Voici ce que j'avais avec ta proposition :  Function ExtremValue(ByRef Liste() As Long, bValMax As Boolean) As Long ' Si bValMax est à True, c'est la plus grande valeur de la liste ' qui est donnée, à false c'est donc la plus petite valeur Dim i As Long, j As Long Dim Temp As String Dim ListeTemp() As Long: ListeTemp = Liste ' ici je double le tableau pour ne pas affecter le tableau d'origine '--------------------- ' juste ta boucle : For i = LBound(ListeTemp) + 1 To UBound(ListeTemp) If ListeTemp(i) > ValMax Then ValMax = ListeTemp(i) Next '--------------------- If bValMax = True Then ExtremValue = ListeTemp(UBound(ListeTemp)) Else ExtremValue = ListeTemp(LBound(ListeTemp)) End Function
Sub Exemple() Dim i As Long Dim MyList(1 To 10) As Long MyList(1) = 1 MyList(2) = 2 MyList(3) = 4 MyList(4) = 8 MyList(5) = 7 MyList(6) = 3 MyList(7) = 9 MyList(8) = 5 MyList(9) = 0 MyList(10) = 6 ' --------------------- MsgBox ExtremValue(MyList, True) 'retourne 6 ????????? ' --------------------- MsgBox ExtremValue(MyList, False) 'retourne 0 End Sub
 ~ Mortalino ~ Colorisation automatique@++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
samedi 17 février 2007 à 18:47:34 |
Re : Tableau d'integer et valeur max

casy
|
Réponse acceptée !
Voila mon code, et j'ai revérifier chez moi il marche Pour t'en persuader, prend une feuille de papier, oublie completement vb et tout autre langage, et pose sur le papier l'algorithme de recherche d'un max. Tu verra qu'il est nul besoin de plusieurs boucle. Subtilité supplémentaire, dans la même boucle, tu peut rajouter la recherche du min ;)  Private Function ValMax(ByRef Liste() As Long) As Long Dim i As Integer
ValMax = Liste(LBound(Liste)) For i = LBound(Liste) + 1 To UBound(Liste) If Liste(i) > ValMax Then ValMax = Liste(i) Next
End Function
Private Sub Form_Load() Dim i As Long Dim MyList(1 To 10) As Long MyList(1) = "1" MyList(2) = "2" MyList(3) = "4" MyList(4) = "8" MyList(5) = "7" MyList(6) = "3" MyList(7) = "9" MyList(8) = "5" MyList(9) = "0" MyList(10) = "6" MsgBox ValMax(MyList) 'retourne 9 End Sub
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
|
|
samedi 17 février 2007 à 18:53:30 |
Re : Tableau d'integer et valeur max

mortalino
|
 je reconnais que je suis à côté de la plaque, ton code fonctionne nickel, et tu as raison sur la simple boucle. Je suis resté ancré sur un code que j'avais, les deux boucles sont obligatoires pour trier les valeurs de la plus petite à la plus grande, et je suis parti de là en cherchant le plus grand ou plus petit indice de cette fameuse liste triée, mais là, pour la ValMax (ou ValMin), ta boucle fait le nécessaire. Mille excuses ! (pas dormi depuis hier, promis, je sors..) Ps : bien vu le coup du papier et du calcul à la main ;) @++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
Cette discussion est classée dans : données, valeur, tableau, max, integer
Répondre à ce message
Sujets en rapport avec ce message
Comment peut on savoir quel est la valeur max dans un tableau de valeurs ? [ par Moi ]
Comment peut on savoir quel est la valeur max dans un tableau de valeurs ?
comment trouver la valeur MIN et la valeur MAX dans un tableau [ par Jeronimo ]
J'ai un tableau intNombre(1 to 25). Premièrement, les valeurs du tableau sont initiées par un combobox. Ensuite, je dois afficher la valeur la plus é
tableau [ par Bugs ]
salut a tousvoila je suis débutant et je voudrai stocker des données fixe dans mon code vb sous forme de tableau, enfin de pouvoire y accéder de manie
Excel - Gestion de tableau [ par Groargreugro ]
D'un logiciel du boulot, on extrait tout les jours des données relatif a tous les services de ma boite sous forme d'un fichier texte totallement illis
trouver valeur max [ par boursicotteur ]
Je cherche une façon ultra rapide de trouver la valeur maximale d'une grande liste de nombres. Il n'est donc pas question ici de commencer à comparer
coller un tableau supérieur à 256 colonnes dans Excel [ par Relax62 ]
Bonjour,Me voici aujourd'hui confronté à un sérieux problème.Je dois récupérer des données venant d'une application hôte d'Excel. J'arrive à récupér
tableau est fichier INI [ par waspy59 ]
bonjourpour un petit prog j'utilise les fichier INI pour la sauvegarde de parametres ect...il a la structure suivante[info]...[Parametres]....la secti
Regrouper des données de plusieurs classeurs [ par Douhme ]
Bonjour,Dans un dossier, j'ai un classeur se nommant tableau.xls, il est composé d'un tableau regroupant des données provenant de plusieurs autres cla
remplir un tableau à partir d'un fichier csv [ par debutantvba ]
Bonjour à tous,je vous expose mon problème et vous remercie à l'avance de vos éventuelles réponses qui seront les bienvenues je vous assure !j'ai un f
bgColor et transmission de données [ par Lyche ]
Bonjour à tous.Voilà mon problème. J'ai un tableau que je cré dynamiquement, et mon code me permet de changer le bgColor de mes cellules. Lorsque je v
Livres en rapport
|
Derniers Blogs
[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE par tja
C'est le dernier principe des principes du Design Orienté Objet (The Principles of Object Oriented Design) fondés par Robert C. Martin plus connu sous le pseudonyme d'Uncle Bob.
l'image empruntée de LosTechies.
Je ne traite pas les principes dans...
Cliquez pour lire la suite de l'article par tja TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : VB.NETRE : VB.NET par nhervagault
Cliquez pour lire la suite par nhervagault HTML VERS PDF HTML VERS PDF par 20cent
Cliquez pour lire la suite par 20cent
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|