Título: duda con arreglos bidimensionales Publicado por: nicolas04 en 26 Junio 2014, 07:30 am hola buenas tardes tengo este ejercicio y no se de que manera mejor encararlo
3. Realice una función que reciba un vector de palabras y otro vector con la ocurrencia de cada palabra y ordene el vector de palabras por la cantidad de ocurrencias de cada una. Prototipo void ordenar( char palabras[][TAM_PALABRAS], int * ocurrencias , int tamanio) la manera en la que lo pense fue hacer un metodo de ordenamiento de de burbuja en las concurrencias y cada vez que halle un valor el cual ordenar tambien cambie el lugar en donde esta alojada la palabra en la matriz pero al momento de implementarlo me tope con varias dudas como cuando intento cambiar una palabra de una pocicion a la otra utilizo este segmento de codigo void mystrcopy (char palabras [][]) { int i = 0; int j = 0; char aux [TAM]; while(palabras !='\0') { aux= palabras[j]; palabras[j] = palabras[j+1] ; palabras[j+1] =aux i++; j++ } pal1 = '\0'; pero al momento de utilizar esa funcion en mi ordemaiento de burbujas no sabria como implemaentarlo void burbuja (int ocurrencia []) { int i= 0,j; int aux = 0 ; int k= 0; for(j=0;j<TAM;j++) { for(i=0;i<TAM-j;i++) { if(ocurrencia >= ocurrencia [i+1]) { aux = ocurrencia ; ocurrencia=ocurrencia [i+1]; ocurrencia[i+1] = aux; } } } gracias de antemano por la ayuda Título: Re: duda con arreglos bidimensionales Publicado por: Flakito81 en 26 Junio 2014, 21:23 pm Tal como entiendo el problema tendrías un vector con palabras y otro vector del mismo tamaño que tendría un valor numerico y tendrías que ordenar el vector de palabras en funcion del vector numerico
¿Me equivoco? La idea sería hacer un método de ordenación, por ejemplo la burbuja aunque no es el más eficiente. y cuando hagas el intercambio de valores numericos tmb realices el intercambio de las cadenas. El código de intercambio sería algo tal que: Código
Darse cuenta que 'swap' es una variable auxiliar dell tipo numérico (int swap;). Y 'aux' es la variable auxiliar para guardar la palabra (char aux[SZ];). Espero haber podido ayudar. Suerte! |