Programación General > C/C++
Re: un pequeño problem con quicksort
snorker:
Holaaa!
Tengo un pequeño problema con el quicksort, el algoritmo le comprendo y se su funcionamiento, pero lo he modificado para que trabaje con structuras y a la hora de compilarlo me da un error de sintaxis... aqui os dejo el codigo del quicksort, a ver si alguien ve el fallo:
la estructura socios es asi:
struct socios
{
int cod_socio;
char nom_so[N];
char direccion[N];
int telf;
int dni;
};
void quicksort(struct socios *so,int inf,int sup)
{
int izq=0, der=0;
struct socios medio, aux;
izq=inf; der=sup;
medio.nom_so=so[(izq+der)/2].nom_so;
do
{
while(stcrmp(so[izq].nom_so,medio.nom_so)<0 && izq<sup)
izq++;
while(stcrmp(medio.nom_so,so[der].nom_so)<0 && der>inf)
der--;
if(izq<=der)
{
aux.nom_so=so[izq].nom_so;
so[izq].nom_so=so[der].nom_so;
so[der].nom_so=aux.nom_so;
izq++;
der--;
}
}while(izq<=der);
if(inf<der)
quicksort(so,inf,der);
if(izq<sup)
quicksort(so,izq,sup);
}
Alguien ve el error ?? :question:
Graciass!!!!!:gracias:
gmantil:
Hola Snorker:
La variable nom_so es una cadena de caracteres, luego para asignarla a otra cadena de caracteres debes hacerlo con una función la cual puede ser strcpy.
Ej:
strcpy(medio.nom_so,so[(izq+der)/2].nom_so);
Igual con todas las asignaciones para cadena.
Saludos,
gmantil
snorker:
Pues he echo eso, pero el error me sigue dando, lo que me pone exactamente es "Declaration syntax error", de verdad, yo no sé que puedo hacer para que me lo compile bien...:hitcomp:
snorker:
Se me olvidaba, para ser más exacto, el error me lo dá en la llave de apertura de la funcion, justo en esa linea...:question:
gmantil:
Hola de nuevo Snorker:
Pues yo copie tu código y el único error que me dio al principio fue por la N que utilizas en la declaración de las cadenas, no te lo mencioné porqué asumí que habias hecho un define para el N el cual no habias colocado en tu pedido de ayuda. Ní no has definido un N debes hacerlo pues las cadenas estáticas no se pueden declarar de tamaño variable. Si no es eso escribe de nuevo y buscaremos que es lo que pasa pues a mí no me salen mas errores.
gmantil
Navegación
[#] Página Siguiente
Ir a la versión completa