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
Valeur max dans une plage définit par des variables [ par Everlast03 ]
J'ai un petit problème, J'ai un tableau de valeurs (que je récupère) dont les premiers relevés ne m'intéressent pas. Je prends donc le maximum (car l
[Catégorie modifiée VB6 --> VBA] Copier/coller d'une feuille a une autre en décalant les cellules de destinations [ par bobwind ]
Bonjour à tous, Je me permets de vous contacter pour faire appel à votre précieuse aide! Voila, je programme un petit outil VBA pour excel afin de fa
MSChart --> valeur des points sur mes Bars [ par petchy ]
bonsoir avec se code j'affiche la valeur des points au passage de la souris [code=vb]Private Sub MSChart1_MouseMove(Button As Integer, Shift As Intege
Envoyer une alerte mail selon date échéance sur tableau excel [ par 751013 ]
Bonjour, malgrés mes recherches sur le net je ne trouve pas de réponse à mon problème. J'ai crée sous excel un tableau de données afin de gérer un sto
Mettre des données dans un tableau [ par guilleto ]
Bonjour à toutes et tous, Je suis novice en .NET et je cherche l'adaptation du MSFLXGRID sous .NET ! Est-ce que quelqu'un pourrait m'indiquer commen
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|