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)
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
"" a écrit dans le message de 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)
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
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de news:
mn.7b467d9a9ef77f0e.16098@free.fr...
*Ecrit* *par* *Tr@nquille*:
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)
tranquille.xav@gmail.com
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
"" a écrit dans le message de 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)
Tr
*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
"" a écrit dans le message de 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)
*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
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de
news: mn.7b467d9a9ef77f0e.16098@free.fr...
*Ecrit* *par* *Tr@nquille*:
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)
tranquille.xav@gmail.com
--
Chacun son tour. (Etat d'esprit)
tranquille.xav@gmail.com
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
"" a écrit dans le message de 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)
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
"" a écrit dans le message de 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
"" a écrit dans le message de 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)
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
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de news:
mn.83567d9a020527c6.16098@free.fr...
*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
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de news:
mn.7b467d9a9ef77f0e.16098@free.fr...
*Ecrit* *par* *Tr@nquille*:
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)
tranquille.xav@gmail.com
--
Chacun son tour. (Etat d'esprit)
tranquille.xav@gmail.com
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
"" a écrit dans le message de 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
"" a écrit dans le message de 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)
Tr
*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.
"" a écrit dans le message de 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
"" a écrit dans le message de 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)
*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.
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de
news: mn.83567d9a020527c6.16098@free.fr...
*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
"Tr@nquille" <tranquille.xav@free.fr> a écrit dans le message de
news: mn.7b467d9a9ef77f0e.16098@free.fr...
*Ecrit* *par* *Tr@nquille*:
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)
tranquille.xav@gmail.com
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.
"" a écrit dans le message de 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
"" a écrit dans le message de 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)