Hola:
tengo un problemilla a la hora de ordenar un vector, tengo dos vectores uno numérico y otro de palabras(string), estos dos vectores están relacionados entre si de manera que la palabra de la posicion i ha saldio tantas veces como ponga en el vector numérico en la misma posicion i, es decir:
palabra(0)-ha salido veces(0)
palabra(1)-ha salido veces(1)
palabra(2)-ha salido veces(2)
el problema que tengo es que no se como hacer para que me ordene el numero de veces que sala cada palabra(es decir, ordenar el vector numérico no es un problema pues es sencillo), de manera que luego pueda mostrar de mayor a menor el numero de veces que sale cada palabra. El programa que he hecho es este, pero no se porque a veces me sale alguna palabra duplicada sin realemente estarlo, si no me explicado suficientemente bien diganmelo y lo volveré a explicar para hacerme en tendre.
El vector de palabras(string) es el llamado todas_palabras, y el numero de veces que sale es cont_veces
Código:
function palPrinc (todas_palabras, cont_veces)
dim indice_palabras_princ() 'Almaceno en este vector los índices dentro de cont_veces donde se encuentran las 5 palabras que mas aparecen
dim vector()
for i=1 to ubound(cont_veces)
redim preserve vector(i)
vector(i) = cont_veces(i)
next
k=1
For i =1 To UBound(cont_veces)
MaxVal = cont_veces(i)
MaxIndex = i
For j = i To ubound(cont_veces)
If cont_veces(j) > MaxVal Then
MaxVal = cont_veces(j)
MaxIndex = j
End If
Next
aux=cont_veces(i)
cont_veces(i)=cont_veces(MaxIndex)
cont_veces(MaxIndex)=aux
redim preserve indice_palabras_princ(i)
indice_palabras_princ(i)=MaxIndex
Next
for j=1 to ubound(indice_palabras_princ)
Response.Write(todas_palabras(indice_palabras_princ(j))&"-"&vector(indice_palabras_princ(j))&"<br>")
next
i=1
end function
Muchas gracias ciao.