Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver le
maximum d'une dizaines de variables numériques (Integer) ??
Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver le
maximum d'une dizaines de variables numériques (Integer) ??
Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver le
maximum d'une dizaines de variables numériques (Integer) ??
Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver
maximum d'une dizaines de variables numériques (Integer) ??
Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver
maximum d'une dizaines de variables numériques (Integer) ??
Comment faire dans le code de VB6 ( Avec quelle fonction??) pour trouver
maximum d'une dizaines de variables numériques (Integer) ??
voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" a écrit dans le message
news:
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
le
> maximum d'une dizaines de variables numériques (Integer) ??
voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" <hexadec@discussions.microsoft.com> a écrit dans le message
news:81765094-61E5-46E6-928F-79B93499AA4A@microsoft.com...
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
le
> maximum d'une dizaines de variables numériques (Integer) ??
voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" a écrit dans le message
news:
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
le
> maximum d'une dizaines de variables numériques (Integer) ??
Hello,
Quelques remarques:
- c'est bien d'utiliser Ubound(), mais alors il vaudrait
mieux utiliser aussi LBound() plutot que 0, pour le
cas ou il utilise Option Base 1.
- Initialiser Nbmax à 0 est potentiellement dangereux
car si le tableau ne comporte que des nombres négatifs,
la fonction renverra 0 ce qui est 2 fois faux:
- Une fois parce que 0 ne sera pas le maximum
- Une autre fois car la valeur renvoyée n'appartient même
pas au tableau :-(
Il vaudrait sans doute mieux passer explicitement 2 arguments
de plus (borne_inf, borne_sup) et initialiser nbMax avec
une valeur du tableau (n(importe laquelle, la premiere par
exemple). Ca donnerait:
Private Function Maxi(t() As Integer, _
b_inf As Long, _
b_sup As Long) As Integer
Dim i As Long
Dim max As Integer
max = t(b_inf)
For i = b_inf To b_sup
If t(i) > max Then
max = t(i)
End If
Next i
Maxi = max
End Function
Ce code marche dans tous les cas.
On pourrait raffiner en faisant de b_inf et b_sup des paramètres
optionnels, avec comme convention que si ils ne sont pas fournis,
alors b_inf = Lbound(t()) et b_sup =Ubound(t())
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Driss HANIB" a écrit dans le message de
news:voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" a écrit dans le message
denews:
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
trouverle
> maximum d'une dizaines de variables numériques (Integer) ??
Hello,
Quelques remarques:
- c'est bien d'utiliser Ubound(), mais alors il vaudrait
mieux utiliser aussi LBound() plutot que 0, pour le
cas ou il utilise Option Base 1.
- Initialiser Nbmax à 0 est potentiellement dangereux
car si le tableau ne comporte que des nombres négatifs,
la fonction renverra 0 ce qui est 2 fois faux:
- Une fois parce que 0 ne sera pas le maximum
- Une autre fois car la valeur renvoyée n'appartient même
pas au tableau :-(
Il vaudrait sans doute mieux passer explicitement 2 arguments
de plus (borne_inf, borne_sup) et initialiser nbMax avec
une valeur du tableau (n(importe laquelle, la premiere par
exemple). Ca donnerait:
Private Function Maxi(t() As Integer, _
b_inf As Long, _
b_sup As Long) As Integer
Dim i As Long
Dim max As Integer
max = t(b_inf)
For i = b_inf To b_sup
If t(i) > max Then
max = t(i)
End If
Next i
Maxi = max
End Function
Ce code marche dans tous les cas.
On pourrait raffiner en faisant de b_inf et b_sup des paramètres
optionnels, avec comme convention que si ils ne sont pas fournis,
alors b_inf = Lbound(t()) et b_sup =Ubound(t())
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Driss HANIB" <dhanib@club-internet.fr> a écrit dans le message de
news:eW9ZC2HEGHA.344@TK2MSFTNGP11.phx.gbl...
voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" <hexadec@discussions.microsoft.com> a écrit dans le message
de
news:81765094-61E5-46E6-928F-79B93499AA4A@microsoft.com...
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
trouver
le
> maximum d'une dizaines de variables numériques (Integer) ??
Hello,
Quelques remarques:
- c'est bien d'utiliser Ubound(), mais alors il vaudrait
mieux utiliser aussi LBound() plutot que 0, pour le
cas ou il utilise Option Base 1.
- Initialiser Nbmax à 0 est potentiellement dangereux
car si le tableau ne comporte que des nombres négatifs,
la fonction renverra 0 ce qui est 2 fois faux:
- Une fois parce que 0 ne sera pas le maximum
- Une autre fois car la valeur renvoyée n'appartient même
pas au tableau :-(
Il vaudrait sans doute mieux passer explicitement 2 arguments
de plus (borne_inf, borne_sup) et initialiser nbMax avec
une valeur du tableau (n(importe laquelle, la premiere par
exemple). Ca donnerait:
Private Function Maxi(t() As Integer, _
b_inf As Long, _
b_sup As Long) As Integer
Dim i As Long
Dim max As Integer
max = t(b_inf)
For i = b_inf To b_sup
If t(i) > max Then
max = t(i)
End If
Next i
Maxi = max
End Function
Ce code marche dans tous les cas.
On pourrait raffiner en faisant de b_inf et b_sup des paramètres
optionnels, avec comme convention que si ils ne sont pas fournis,
alors b_inf = Lbound(t()) et b_sup =Ubound(t())
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Driss HANIB" a écrit dans le message de
news:voici une focntion qu te permettra de trouver le nombre maximum
Driss
Function Maxi() as integer
Dim NbMax as integer
Dim I as long
' imaginons que tes nombres soient dans un tableau d'entiers
Nbmax=0
for i = 0 to ubound(tabNombres())
if tabnombres(I)> nbMax then
nbMax = tabNombres(i)
end if
next
Maxi = nbmax
end function
"hexadec" a écrit dans le message
denews:
> Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
trouverle
> maximum d'une dizaines de variables numériques (Integer) ??
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
d'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
l'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
integer possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" a écrit dans le message de
43baa3e8$0$334$
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
> "Driss HANIB" a écrit dans le message de
> news:
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" a écrit dans le
> de
>> news:
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
d'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
l'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
integer possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" <NO_SPAM_jean_marc_n2@yahoo.fr> a écrit dans le message de
43baa3e8$0$334$ba620e4c@news.skynet.be...
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
>
>
> "Driss HANIB" <dhanib@club-internet.fr> a écrit dans le message de
> news:eW9ZC2HEGHA.344@TK2MSFTNGP11.phx.gbl...
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" <hexadec@discussions.microsoft.com> a écrit dans le
> de
>> news:81765094-61E5-46E6-928F-79B93499AA4A@microsoft.com...
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
d'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
l'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
integer possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" a écrit dans le message de
43baa3e8$0$334$
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
> "Driss HANIB" a écrit dans le message de
> news:
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" a écrit dans le
> de
>> news:
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
hello Patrice,
ton test est à l'envers:
If Maxi > t(I) Then Maxi = t(I) '' non
correction :
If t(I) > Maxi Then Maxi = t(I)
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Patrice Henrio" a écrit dans le message de
news:%
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
permetd'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
del'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
petitinteger possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" a écrit dans le message de
news:43baa3e8$0$334$
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
> "Driss HANIB" a écrit dans le message de
> news:
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" a écrit dans le
message> de
>> news:
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
hello Patrice,
ton test est à l'envers:
If Maxi > t(I) Then Maxi = t(I) '' non
correction :
If t(I) > Maxi Then Maxi = t(I)
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:%23ysgmpIEGHA.3064@TK2MSFTNGP14.phx.gbl...
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
permet
d'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
de
l'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
petit
integer possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" <NO_SPAM_jean_marc_n2@yahoo.fr> a écrit dans le message de
news:
43baa3e8$0$334$ba620e4c@news.skynet.be...
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
>
>
> "Driss HANIB" <dhanib@club-internet.fr> a écrit dans le message de
> news:eW9ZC2HEGHA.344@TK2MSFTNGP11.phx.gbl...
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" <hexadec@discussions.microsoft.com> a écrit dans le
message
> de
>> news:81765094-61E5-46E6-928F-79B93499AA4A@microsoft.com...
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
hello Patrice,
ton test est à l'envers:
If Maxi > t(I) Then Maxi = t(I) '' non
correction :
If t(I) > Maxi Then Maxi = t(I)
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Patrice Henrio" a écrit dans le message de
news:%
Private Function Maxi(T() as integer) as integer
Dim I as long
On Error GoTo T_est_vide
'Si le tableau T n'est pas initialisé, le traitement d'erreur
permetd'ignorer le Lbound(T)
Maxi = T(LBound(T))
On Error GoTo 0
For I = Lbound(T)+1 to Ubound(T)
iF Maxi>T(I) then Maxi=T(I)
Next I
Exit Sub
T_est_vide:
Maxi=0 'définition mathématiques souvent utilisée le maxi
del'ensemble vide est l'élément neutre de l'addition, on
'pourrait aussi renvoyer une erreur ou le plus
petitinteger possible de façon à pouvoir écrire
'Maxi(A union B)=Maxi(Maxi(A),Maxi(B))
End sub
"Jean-Marc" a écrit dans le message de
news:43baa3e8$0$334$
> Hello,
>
> Quelques remarques:
> - c'est bien d'utiliser Ubound(), mais alors il vaudrait
> mieux utiliser aussi LBound() plutot que 0, pour le
> cas ou il utilise Option Base 1.
>
> - Initialiser Nbmax à 0 est potentiellement dangereux
> car si le tableau ne comporte que des nombres négatifs,
> la fonction renverra 0 ce qui est 2 fois faux:
> - Une fois parce que 0 ne sera pas le maximum
> - Une autre fois car la valeur renvoyée n'appartient même
> pas au tableau :-(
>
> Il vaudrait sans doute mieux passer explicitement 2 arguments
> de plus (borne_inf, borne_sup) et initialiser nbMax avec
> une valeur du tableau (n(importe laquelle, la premiere par
> exemple). Ca donnerait:
>
> Private Function Maxi(t() As Integer, _
> b_inf As Long, _
> b_sup As Long) As Integer
> Dim i As Long
> Dim max As Integer
>
> max = t(b_inf)
> For i = b_inf To b_sup
> If t(i) > max Then
> max = t(i)
> End If
> Next i
> Maxi = max
> End Function
>
> Ce code marche dans tous les cas.
>
> On pourrait raffiner en faisant de b_inf et b_sup des paramètres
> optionnels, avec comme convention que si ils ne sont pas fournis,
> alors b_inf = Lbound(t()) et b_sup =Ubound(t())
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
> "Driss HANIB" a écrit dans le message de
> news:
>> voici une focntion qu te permettra de trouver le nombre maximum
>>
>> Driss
>>
>> Function Maxi() as integer
>> Dim NbMax as integer
>> Dim I as long
>> ' imaginons que tes nombres soient dans un tableau d'entiers
>> Nbmax=0
>> for i = 0 to ubound(tabNombres())
>> if tabnombres(I)> nbMax then
>> nbMax = tabNombres(i)
>> end if
>> next
>>
>> Maxi = nbmax
>> end function
>>
>>
>>
>> "hexadec" a écrit dans le
message> de
>> news:
>> > Comment faire dans le code de VB6 ( Avec quelle fonction??) pour
> trouver
>> le
>> > maximum d'une dizaines de variables numériques (Integer) ??
>>
>>
>
C'est vrai.
Honte à moi sur les sept prochaines générations.
Salut et bonne année.
C'est vrai.
Honte à moi sur les sept prochaines générations.
Salut et bonne année.
C'est vrai.
Honte à moi sur les sept prochaines générations.
Salut et bonne année.
"Patrice Henrio" a écrit dans le message de
news:%
> C'est vrai.
> Honte à moi sur les sept prochaines générations.
2 générations suffiront :-))
> Salut et bonne année.
Très bonne année à toi aussi!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:%23F809fJEGHA.1264@TK2MSFTNGP09.phx.gbl...
> C'est vrai.
> Honte à moi sur les sept prochaines générations.
2 générations suffiront :-))
> Salut et bonne année.
Très bonne année à toi aussi!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Patrice Henrio" a écrit dans le message de
news:%
> C'est vrai.
> Honte à moi sur les sept prochaines générations.
2 générations suffiront :-))
> Salut et bonne année.
Très bonne année à toi aussi!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;