MAIOR DE CINCO
Tente assim então:
Public Function GetMaiorNumero(numeros() As Integer) As Integer
Dim x, y, resultado As Integer
resultado = numeros(0)
For x = 0 To UBound(numeros)
For y = x + 1 To UBound(numeros)
If numeros(y) > resultado Then
resultado = numeros(y)
End If
Next
Next
Return resultado
End Function
Public Function GetMaiorNumero(numeros() As Integer) As Integer
Dim x, y, resultado As Integer
resultado = numeros(0)
For x = 0 To UBound(numeros)
For y = x + 1 To UBound(numeros)
If numeros(y) > resultado Then
resultado = numeros(y)
End If
Next
Next
Return resultado
End Function
Utilzando os valores citados acima
Alguns debugs:
N1 = 12
N2 = 48
N3 = 15
N4 = 7
N5 = 97
NMAIOR = 97
NMENOR = 7
N1 = 6
N2 = 44
N3 = 1
N4 = 87
N5 = 53
NMAIOR = 87
NMENOR = 1
No TextBox digite os valores acima da seguinte forma e clique no botão para executar
12;48;15;7;97
6;44;1;87;53
Segue anexo
Alguns debugs:
N1 = 12
N2 = 48
N3 = 15
N4 = 7
N5 = 97
NMAIOR = 97
NMENOR = 7
N1 = 6
N2 = 44
N3 = 1
N4 = 87
N5 = 53
NMAIOR = 87
NMENOR = 1
No TextBox digite os valores acima da seguinte forma e clique no botão para executar
12;48;15;7;97
6;44;1;87;53
Segue anexo
Option Explicit
Dim aArray() As Variant
Private Function fuOrdenar() As String
Dim i As Integer, j As Integer
Dim aArrayTemp As Variant
Dim sTemp As String
For i = LBound(aArray) To UBound(aArray)
For j = LBound(aArray) To UBound(aArray)
If CInt(aArray(i)) < CInt(aArray(j)) Then
sTemp = aArray(i)
aArray(i) = aArray(j)
aArray(j) = sTemp
End If
Next j
Next i
sTemp = [Ô][Ô]
For Each aArrayTemp In aArray
sTemp = sTemp & aArrayTemp & [Ô],[Ô]
Next aArrayTemp
fuOrdenar = Left(sTemp, Len(sTemp) - 1)
End Function
Private Sub Command1_Click()
Dim sArray() As String
aArray = Array(10, 5, 15, 25, 45, 1)
sArray = Split(fuOrdenar, [Ô],[Ô])
MsgBox [Ô]Menor valor [Ô] & sArray(LBound(sArray))
MsgBox [Ô]Maior valor [Ô] & sArray(UBound(sArray))
End Sub
-----------------------------------
ou assim
Dependendo de como está o seu programa isso pode funcionar.
Num módulo declare assim:
Global lMaior as Long, lMenor as Long
Global Flag_MaiorMenor as Boolean
Public Sub S_MaiorMenor(ByVal variavel as Long)
IF Flag_MaiorMenor Then
IF variavel > lMaior Then
lMaior = variavel
ENDIF
IF variavel < lMenor Then
lMenor = variavel
ENDIF
ELSE
Flag_MaiorMenor = true
lMaior = variavel
lMenor = variavel
ENDIF
End Sub
No decorrer do seu programa:
A = 10
Call S_MaiorMenor(A)
B = 5
Call S_MaiorMenor(B)
é só chamar a variável lMenor e lMaior para saber, naquele instante, quais são o menor e maior valor.
----------------------------------------------
ou assim
Dim A(N) as integer [ô] N é a qtde de variaveis que vc vai usar no caso seria 6
dim menor as integer
dim maior as integer
public sub maiormenor()
menor=0
maior=0
for i= 1 to N [Ô]não eskeça de substituir o N!
if i= 1 then
menor=A (i)
maior=A(i)
else
if menor> A(i) then
menor= A(i)
else
endif
if maior < A(i) then
maior=A(i)
else
endif
next i
end sub
--------------
ou
Dim maior, menor As Integer
For ctd = 0 To 4
If valores(ctd) > numero Then
maior = valores(ctd)
lbmaior.Text = maior
End If
If valores(ctd) < numero Then
menor = valores(ctd)
lbmenor.Text = menor
End If
---------------
Testa Responde ai
Dim aArray() As Variant
Private Function fuOrdenar() As String
Dim i As Integer, j As Integer
Dim aArrayTemp As Variant
Dim sTemp As String
For i = LBound(aArray) To UBound(aArray)
For j = LBound(aArray) To UBound(aArray)
If CInt(aArray(i)) < CInt(aArray(j)) Then
sTemp = aArray(i)
aArray(i) = aArray(j)
aArray(j) = sTemp
End If
Next j
Next i
sTemp = [Ô][Ô]
For Each aArrayTemp In aArray
sTemp = sTemp & aArrayTemp & [Ô],[Ô]
Next aArrayTemp
fuOrdenar = Left(sTemp, Len(sTemp) - 1)
End Function
Private Sub Command1_Click()
Dim sArray() As String
aArray = Array(10, 5, 15, 25, 45, 1)
sArray = Split(fuOrdenar, [Ô],[Ô])
MsgBox [Ô]Menor valor [Ô] & sArray(LBound(sArray))
MsgBox [Ô]Maior valor [Ô] & sArray(UBound(sArray))
End Sub
-----------------------------------
ou assim
Dependendo de como está o seu programa isso pode funcionar.
Num módulo declare assim:
Global lMaior as Long, lMenor as Long
Global Flag_MaiorMenor as Boolean
Public Sub S_MaiorMenor(ByVal variavel as Long)
IF Flag_MaiorMenor Then
IF variavel > lMaior Then
lMaior = variavel
ENDIF
IF variavel < lMenor Then
lMenor = variavel
ENDIF
ELSE
Flag_MaiorMenor = true
lMaior = variavel
lMenor = variavel
ENDIF
End Sub
No decorrer do seu programa:
A = 10
Call S_MaiorMenor(A)
B = 5
Call S_MaiorMenor(B)
é só chamar a variável lMenor e lMaior para saber, naquele instante, quais são o menor e maior valor.
----------------------------------------------
ou assim
Dim A(N) as integer [ô] N é a qtde de variaveis que vc vai usar no caso seria 6
dim menor as integer
dim maior as integer
public sub maiormenor()
menor=0
maior=0
for i= 1 to N [Ô]não eskeça de substituir o N!
if i= 1 then
menor=A (i)
maior=A(i)
else
if menor> A(i) then
menor= A(i)
else
endif
if maior < A(i) then
maior=A(i)
else
endif
next i
end sub
--------------
ou
Dim maior, menor As Integer
For ctd = 0 To 4
If valores(ctd) > numero Then
maior = valores(ctd)
lbmaior.Text = maior
End If
If valores(ctd) < numero Then
menor = valores(ctd)
lbmenor.Text = menor
End If
---------------
Testa Responde ai
Option Explicit
Dim aArray() As Variant
Private Function fuOrdenar() As String
Dim i As Integer, j As Integer
Dim aArrayTemp As Variant
Dim sTemp As String
For i = LBound(aArray) To UBound(aArray)
For j = LBound(aArray) To UBound(aArray)
If CInt(aArray(i)) < CInt(aArray(j)) Then
sTemp = aArray(i)
aArray(i) = aArray(j)
aArray(j) = sTemp
End If
Next j
Next i
sTemp = [Ô][Ô]
For Each aArrayTemp In aArray
sTemp = sTemp & aArrayTemp & [Ô],[Ô]
Next aArrayTemp
fuOrdenar = Left(sTemp, Len(sTemp) - 1)
End Function
Private Sub Command1_Click()
Dim sArray() As String
aArray = Array(N1, N2, N3, N4, N5,)
sArray = Split(fuOrdenar, [Ô],[Ô])
MsgBox [Ô]Menor valor [Ô] & sArray(LBound(sArray))
MsgBox [Ô]Maior valor [Ô] & sArray(UBound(sArray))
End Sub
Dim aArray() As Variant
Private Function fuOrdenar() As String
Dim i As Integer, j As Integer
Dim aArrayTemp As Variant
Dim sTemp As String
For i = LBound(aArray) To UBound(aArray)
For j = LBound(aArray) To UBound(aArray)
If CInt(aArray(i)) < CInt(aArray(j)) Then
sTemp = aArray(i)
aArray(i) = aArray(j)
aArray(j) = sTemp
End If
Next j
Next i
sTemp = [Ô][Ô]
For Each aArrayTemp In aArray
sTemp = sTemp & aArrayTemp & [Ô],[Ô]
Next aArrayTemp
fuOrdenar = Left(sTemp, Len(sTemp) - 1)
End Function
Private Sub Command1_Click()
Dim sArray() As String
aArray = Array(N1, N2, N3, N4, N5,)
sArray = Split(fuOrdenar, [Ô],[Ô])
MsgBox [Ô]Menor valor [Ô] & sArray(LBound(sArray))
MsgBox [Ô]Maior valor [Ô] & sArray(UBound(sArray))
End Sub
Tópico encerrado , respostas não são mais permitidas