kodax Posted November 22, 2011 Report Share Posted November 22, 2011 Amigos les cuento tengo que realizar un programa en vd.net que pueda leer archivos txt bueno esta parte ya la tengo lista al archivo txt lo tomo y lo leo linea por lineas esas lineas las guardo en un arreglo que luego le aplico el split al arreglo ejemplo vector=split(texto," ") esto lo hago para separar las palabras que contengan blancos esto es para contar las palabras que se repiten , mi duda que tengo y donde estoy en pana es como recorrer el arrglo para que me muestra las palabras que se repiten en el archivo txtaps asi tengo declarado el arreglo Dim arreglo () As String De antemano muchas gracias y ojala que me puedan ayudar saludos Link to comment Share on other sites More sharing options...
susodicho Posted November 22, 2011 Report Share Posted November 22, 2011 :mmm: Tendrías que ordenar el arreglo (da lo mismo si es en orden ascendente o descendente), así todas las palabras repetidas te quedan juntas.Una vez ordenado, tomas la primera cadena y la comparas (con ciclo repetitivo) con las siguientes y vas avanzando hasta que encuentres una distinta (con esto cuentas cuántas palabras iguales había), el índice te queda en la palabra que era distinta, ahora repite el proceso hasta completar de recorrer el arreglo. Para ordenar el arreglo usas el método estático Array.Sort. En tu caso, creo que no tienes que implementar la interfaz IComparer, como en el ejemplo, sino que tendrías que llamarla así: Array.Sort(arreglo, StringComparer.InvariantCultureIgnoreCase) ó así: Array.Sort(arreglo, StringComparer.InvariantCulture) dependiendo si tú consideras que "algo" es lo mismo que "ALGO" o no . De todas formas, échale una mirada a StringComparer. Link to comment Share on other sites More sharing options...
kodax Posted November 22, 2011 Author Report Share Posted November 22, 2011 :mmm: Tendrías que ordenar el arreglo (da lo mismo si es en orden ascendente o descendente), así todas las palabras repetidas te quedan juntas.Una vez ordenado, tomas la primera cadena y la comparas (con ciclo repetitivo) con las siguientes y vas avanzando hasta que encuentres una distinta (con esto cuentas cuántas palabras iguales había), el índice te queda en la palabra que era distinta, ahora repite el proceso hasta completar de recorrer el arreglo. Para ordenar el arreglo usas el método estático Array.Sort. En tu caso, creo que no tienes que implementar la interfaz IComparer, como en el ejemplo, sino que tendrías que llamarla así: Array.Sort(arreglo, StringComparer.InvariantCultureIgnoreCase) ó así: Array.Sort(arreglo, StringComparer.InvariantCulture) dependiendo si tú consideras que "algo" es lo mismo que "ALGO" o no . De todas formas, échale una mirada a StringComparer. Gracias Compita me ayudo mucho hay funciono quedo perfect Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now