Help simplify this code...
I type 20 numbers and show the high and low in the end...
Code:
'// Declaração e Inicialização de Variáveis
Dim valor(20) As Integer
Dim resposta As String
Do
'// Entrada de Dados
Valor(1) = InputBox("Entre com o 1º valor:")
valor(2) = InputBox("Entre com o 2º valor:")
valor(3) = InputBox("Entre com o 3º valor:")
valor(4) = InputBox("Entre com o 4º valor:")
valor(5) = InputBox("Entre com o 5º valor:")
valor(6) = InputBox("Entre com o 6º valor:")
valor(7) = InputBox("Entre com o 7º valor:")
valor(8) = InputBox("Entre com o 8º valor:")
valor(9) = InputBox("Entre com o 9º valor:")
valor(10) = InputBox("Entre com o 10º valor:")
valor(11) = InputBox("Entre com o 11º valor:")
valor(12) = InputBox("Entre com o 12º valor:")
valor(13) = InputBox("Entre com o 13º valor:")
valor(14) = InputBox("Entre com o 14º valor:")
valor(15) = InputBox("Entre com o 15º valor:")
valor(16) = InputBox("Entre com o 16º valor:")
valor(17) = InputBox("Entre com o 17º valor:")
valor(18) = InputBox("Entre com o 18º valor:")
valor(19) = InputBox("Entre com o 19º valor:")
valor(20) = InputBox("Entre com o 20º valor:")
'// I DO THIS FOR THE LOWER 20X
If valor(1) < valor(2) And valor(1) < valor(3) And valor(1) < valor(4) And valor(1) < valor(5) And valor(1) < valor(6) And valor(1) < valor(7) And valor(1) < valor(8) And valor(1) < valor(9) And valor(1) < valor(10) And valor(1) < valor(11) And valor(1) < valor(12) And valor(1) < valor(13) And valor(1) < valor(14) And valor(1) < valor(15) And valor(1) < valor(16) And valor(1) < valor(17) And valor(1) < valor(18) And valor(1) < valor(19) And valor(1) < valor(20) Then
'//AND THIS FOR THE HIGHETS 20X
If valor(1) > valor(2) And valor(1) > valor(3) And valor(1) > valor(4) And valor(1) > valor(5) And valor(1) > valor(6) And valor(1) > valor(7) And valor(1) > valor(8) And valor(1) > valor(9) And valor(1) > valor(10) And valor(1) > valor(11) And valor(1) > valor(12) And valor(1) > valor(13) And valor(1) > valor(14) And valor(1) > valor(15) And valor(1) > valor(16) And valor(1) > valor(17) And valor(1) > valor(18) And valor(1) > valor(19) And valor(1) > valor(20) Then
MsgBox("O maior numero é " & valor(1))
And he continues to the end
'// Perguntar se Quer Continuar
resposta = InputBox("Deseja Continuar S/N?:")
resposta = resposta.ToUpper
Loop Until (resposta.Equals("N"))
Close()
End Sub
End Class
Re: Help simplify this code...
Keep track of the highest and the lowest as the numbers are entered. This eliminates the need for 400 if statements at the end.
Code:
'// Declaração e Inicialização de Variáveis
Dim valor(20) As Integer
Dim resposta As String
dim iLoop as integer
dim iLowest as integer
dim iHighest as integer
Do
'// Entrada de Dados
for iLoop = 1 to 20
Valor(iLoop) = InputBox("Entre com o " & iLoop & "º valor:")
if iLoop = 1 then
iLowest = valor(iloop)
iHighest = valor(iloop)
else
if valor(iloop)<iLowest then iLowest = valor(iloop)
if valor(iloop)>iHighest then iHighest = valor(iloop)
end if
next
MsgBox("O smallest numero é " & iLowest)
MsgBox("O maior numero é " & iHighest)
'// Perguntar se Quer Continuar
resposta = InputBox("Deseja Continuar S/N?:")
resposta = resposta.ToUpper
Loop Until (resposta.Equals("N"))
Close()
End Sub
End Class
Re: Help simplify this code...