Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dvictor

Pesquisa de matriz

Recommended Posts

para esse caso existem diversas alternativas:

 

- Ordenar a matriz, e pegar os 10 primeiros valores

- Vasculhar e copiar os menores para outra Matriz / Mostrar

- Jogar num LIST e usar o SORT

- Se estiver num database/excel, usar SQL

 

mas eu vou apresentar para voce a primeira solucao: ORDENAR e pegar os 10 primeiros

 

Dim meusValores(0 To 100) As LongPrivate Sub Form_Load()'--{ Randomiza Valores preu testar o codigo }--'Randomize TimerFor x = 0 To 100    meusValores(x) = Int(Rnd * 10000 + 1)Next'--{ Chama rotina  }--'OrdenaVetor meusValores()'--{ Printa no DEBUG soh para constatar que ordenou mesmo  }--''--{ mostrando apenas os 10 primeiros }--'strshow = ""virgula = ""For x = 0 To 9    strshow = strshow & virgula & meusValores(x)    virgula = ","NextDebug.Print strshowEndEnd Sub

E a rotina que ordena

 

Private Sub OrdenaVetor(vMatriz() As Long)Dim p1 As Long, p2 As LongDim vTroca As LongFor p1 = LBound(vMatriz) + 1 To UBound(vMatriz)    For p2 = LBound(vMatriz) To UBound(vMatriz) - 1        If CLng(vMatriz(p1)) < CLng(vMatriz(p2)) Then            vTroca = vMatriz(p1)            vMatriz(p1) = vMatriz(p2)            vMatriz(p2) = vTroca        End If    NextNextEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.