Comparaisons: meilleure méthode?

Le
Tr
Bonjour à tous,

j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28

je voudrais le plus grand de la seconde colonne, puis en cas d'égalité,
le plus petit de la première colonne pour les égalités
donc ici B=0.37

Quelle est la technique à utiliser (vb2008)

merci d'avance pour vos pistes.

--
*allophobe* : Qui a peur des différences. (Définition)
tranquille.xav@gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tr
Le #20354811
*Ecrit* *par* **:
Bonjour à tous,



j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28



je voudrais le plus grand de la seconde colonne, puis en cas
d'égalité, le plus petit de la première colonne pour les égalités
donc ici B=0.37



Quelle est la technique à utiliser (vb2008)



merci d'avance pour vos pistes.



plus simple encore, je n'ai maintenant que 3 couples...

--
Commençons par faire ce que l'on dit plutôt que de dire ce que l'on va
faire. (Etat d'esprit)

Le #20359661
Bonjour Tranquille,

Je dirais au 1er abord, tu captures la valeur max
max2=max(a';b';c')
ensuite, tu parcours chaque données pour trouver toutes les valeurs égales à
max2
pour ces valeurs, tu captures la valeur de la colonne 1 et tu compares si
elle est plus petite
min1Þcimal.maxvalue
if max2=a' andalso a<min1 then min1=a
if max2=b' andalso b<min1 then min1=b

sachant que travailler dans des tableaux pourraient être préférables surtout
si tu dois aller 1 jour jusqu'à z

Bonne journée,
Stéphane


""
*Ecrit* *par* **:
Bonjour à tous,



j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28



je voudrais le plus grand de la seconde colonne, puis en cas d'égalité,
le plus petit de la première colonne pour les égalités
donc ici B=0.37



Quelle est la technique à utiliser (vb2008)



merci d'avance pour vos pistes.



plus simple encore, je n'ai maintenant que 3 couples...

--
Commençons par faire ce que l'on dit plutôt que de dire ce que l'on va
faire. (Etat d'esprit)





Tr
Le #20360971
*Ecrit* *par* *Stéphane*:
Bonjour Tranquille,



Je dirais au 1er abord, tu captures la valeur max
max2=max(a';b';c')



j'ai cru qu'il existait une fonction dans vb2008 ou framework pour
comparer plusieurs nombres, or max ne prend que deux arguments.
me reste donc travail sur tableaux, comme tu le suggères...
merci bien.

...

sachant que travailler dans des tableaux pourraient être préférables
surtout si tu dois aller 1 jour jusqu'à z



Bonne journée,
Stéphane




"" news:
*Ecrit* *par* **:
Bonjour à tous,



j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28



je voudrais le plus grand de la seconde colonne, puis en cas
d'égalité, le plus petit de la première colonne pour les égalités
donc ici B=0.37



Quelle est la technique à utiliser (vb2008)



merci d'avance pour vos pistes.



plus simple encore, je n'ai maintenant que 3 couples...

-- Commençons par faire ce que l'on dit plutôt que de dire ce que
l'on va faire. (Etat d'esprit)








--
Chacun son tour. (Etat d'esprit)

Le #20362771
Je n'avais pas regardé la syntaxe, :mais si max n'accepte que 2 arguments,
ce n'est vraiment pas 1 problème en soit !
max2=max(a';max(b';c'))

++
Stéphane

""
*Ecrit* *par* *Stéphane*:
Bonjour Tranquille,



Je dirais au 1er abord, tu captures la valeur max
max2=max(a';b';c')



j'ai cru qu'il existait une fonction dans vb2008 ou framework pour
comparer plusieurs nombres, or max ne prend que deux arguments.
me reste donc travail sur tableaux, comme tu le suggères...
merci bien.

...

sachant que travailler dans des tableaux pourraient être préférables
surtout si tu dois aller 1 jour jusqu'à z



Bonne journée,
Stéphane




""
*Ecrit* *par* **:
Bonjour à tous,



j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28



je voudrais le plus grand de la seconde colonne, puis en cas d'égalité,
le plus petit de la première colonne pour les égalités
donc ici B=0.37



Quelle est la technique à utiliser (vb2008)



merci d'avance pour vos pistes.



plus simple encore, je n'ai maintenant que 3 couples...

-- Commençons par faire ce que l'on dit plutôt que de dire ce que l'on
va faire. (Etat d'esprit)








--
Chacun son tour. (Etat d'esprit)





Tr
Le #20364411
*Ecrit* *par* *Stéphane*:
Je n'avais pas regardé la syntaxe, :mais si max n'accepte que 2
arguments, ce n'est vraiment pas 1 problème en soit !
max2=max(a';max(b';c'))



++
Stéphane



bon, voilà finalement la technique que j'utilise, considérant qu'il
peut y avoir des égalités sur mes Y, pas pour mes X, et que les X sont
déjà dans l'ordre croissant...
chaque couple est vu comme un point(X,Y)

Dim i As Integer = 0
Dim UBoundTableau As Integer = 0
Dim Table(5) As PointF
Dim Table1(1) As PointF

'remplissage à la main pour l'exemple:
Table(0) = New PointF(0.36, 23.29)
Table(1) = New PointF(0.37, 23.30)
Table(2) = New PointF(0.38, 23.30)
Table(3) = New PointF(0.39, 23.29)
Table(4) = New PointF(0.40, 23.28)

Table1(0) = Table(0)
UBoundTableau = Table.GetUpperBound(0) - 1
For i = 0 To UBoundTableau
If (Table(i + 1).Y > Table(i).Y) Then
ReDim Table1(1)
Table1(0) = Table(i + 1)
ElseIf (Table(i + 1).Y = Table(i).Y) Then
ReDim Preserve Table1(i + 1)
Table1(1) = Table(i + 1)
End If
Next
'à la fin, prendre l'élément 0 du second tableau1
MsgBox(Table1(0).X & " | " & Table1(0).Y)

ça a l'air de fonctionner
merci de ton aide en tout cas.

"" news:
*Ecrit* *par* *Stéphane*:
Bonjour Tranquille,



Je dirais au 1er abord, tu captures la valeur max
max2=max(a';b';c')



j'ai cru qu'il existait une fonction dans vb2008 ou framework pour
comparer plusieurs nombres, or max ne prend que deux arguments.
me reste donc travail sur tableaux, comme tu le suggères...
merci bien.

...

sachant que travailler dans des tableaux pourraient être
préférables surtout si tu dois aller 1 jour jusqu'à z



Bonne journée,
Stéphane




"" news:
*Ecrit* *par* **:
Bonjour à tous,



j'ai 5 couples de données (nombres à virgule)
par exemple:
A=0.36, A'#.29
B=0.37, B'#.30
C=0.38, C'#.30
D=0.39, D'#.29
E=0.40, E'#.28



je voudrais le plus grand de la seconde colonne, puis en cas
d'égalité, le plus petit de la première colonne pour les
égalités
donc ici B=0.37



Quelle est la technique à utiliser (vb2008)



merci d'avance pour vos pistes.



plus simple encore, je n'ai maintenant que 3 couples...










--
En politique, l'important n'est pas la victoire de son camp mais celle
de ses idées. (Conclusion)

Publicité
Poster une réponse
Anonyme