Título: Error Ejercicio de Arreglo Dinamico Publicado por: palacio29 en 21 Octubre 2016, 20:09 pm Hola
Tengo el siguiente ejercicio: Desarrollar una funcion ordenarArr que reciba como parámetro un arreglo dinámico del tipo t_persona. La función deberá ordenar el arreglo por número de categoría en forma descendente. El números de categoría se encuentra dentro del unsigned char cat en los cuatro bit mas significativos (los de la izquierda). El prototipo de la función que deberá utilizar es: void ordenarArr(t_persona* arr); Lo que hice fue lo siguiente Código
El problema es que hace cualquier cosa menos ordenar y tira error de ejecucion. Nose que hacer. Título: Re: Error Ejercicio de Arreglo Dinamico Publicado por: MAFUS en 21 Octubre 2016, 20:49 pm Te falla porqué no puedes hacer (arr+i)->dni!=0 y (arr+j)->dni!=0para controlar el bucle de ordenarArr, básicamente porqué lo has llenado de datos y ninguno de ellos es la condición de parada. Deberías usar la misma condición de parada que las otras funciones: contar mientras que i y j sean menores a 4.
Te faltó, en tu línea tu printf de la línea 57, desplazar 4 bits a la derecha para ver el código usado para ordenar, por eso no ves los datos ordenados: Código |