ACHAR O MAIOR VALOR DE UM INDEX
Galera é o seguinte, tenho uma Variável(x) com mais de 100 números
gostaria que o sistema retornasse o valor de X com a variável de valor mais alto.
Será que existe algum método especÃfico?
Vlw
gostaria que o sistema retornasse o valor de X com a variável de valor mais alto.
Será que existe algum método especÃfico?
Vlw
faz um for com uma condição que resolve tudo...
foi o que tentei
fiz da seguinte maneira
Funciona, mas com strings com muitas variaveis o processo fica meio lento, gostaria de uma maneira de deixar tudo em ordem crescente.. comoem um listobox(ate pensei em usar um)
vlw
fiz da seguinte maneira
dim A(100) as string
for x = 0 to 99
for z = 0 to 99
if a(z)>a(x) then goto nao
msgbox a
goto fim
next z
nao:
next x
fim:
Funciona, mas com strings com muitas variaveis o processo fica meio lento, gostaria de uma maneira de deixar tudo em ordem crescente.. comoem um listobox(ate pensei em usar um)
vlw
2 FORs? Não precisa de tudo isso não! Faz assim:
Dim Valor as Integer 'retorna o maior valor
Dim Posicao as Integer 'retorna a posição do maior valor
Dim Numeros(X) as Integer 'são os números a serem analizados. Altere o X para o valor correto
posicao = -1 'pra indicar que não foi inicializada ainda
For i = lbound(Numeros) to ubound(Numeros)
if posicao = -1 then
posicao = i
valor = numeros(i)
else
if valor < numeros(i) then
posicao = i
valor = numeros(i)
end if
end if
Next
Msgbox "O maior numero é " & valor & " na variavel de posicao " & posicao
Cara o maior valor? Sem complicação, é só usar a função UBound:
Só pra constar, se quiser pegar o menor valor é só usar o LBound, é fato que em 99,9% dos casos o menor valor é zero, mas vc pode declarar por exemplo Dim variavel(2 To 20), nesse caso o LBound(Variavel) retornaria 2 e o UBound(Variavel) retornaria 20, sendo assim vc pode pegar tb o nr de valores do array:
E ainda, se quiser um loop pra ler todos os itens, é só unir as duas funções num loop for:
é isso, qualquer dúvida poste...flw
MsgBox UBound(Variavel)
Só pra constar, se quiser pegar o menor valor é só usar o LBound, é fato que em 99,9% dos casos o menor valor é zero, mas vc pode declarar por exemplo Dim variavel(2 To 20), nesse caso o LBound(Variavel) retornaria 2 e o UBound(Variavel) retornaria 20, sendo assim vc pode pegar tb o nr de valores do array:
TotalValores = UBound(Variavel) - LBound(Variavel)
E ainda, se quiser um loop pra ler todos os itens, é só unir as duas funções num loop for:
Dim i As Integer
For i = LBound(Variavel) To UBound(Variavel)
Msgbox "O valor de posição " & i & " é igual à  : " & Variavel(i)
Next i
é isso, qualquer dúvida poste...flw
Vlw Harry Potter, era exatamente isso.. brigadão
Matioli, eu agradeço, mas o que eu queria era a relção dos valores da variaveis e nao dos numeros delas.. ams agradeço
flw
Matioli, eu agradeço, mas o que eu queria era a relção dos valores da variaveis e nao dos numeros delas.. ams agradeço
flw
Tópico encerrado , respostas não são mais permitidas