SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: snorker en Martes 27 de Mayo de 2003, 17:00
-
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:
-
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
-
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:
-
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:
-
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
-
Holas!! La verdad es que si hice el define para N, si esque el código sé que está bien, pero no se porque me esta dando el error...si quieres te puedo pasar el codigo entero de la aplicacion(es muy muy largo ya que es proyecto de fin de curso) y lo ves...:adios:
-
Hola Snorker:
Mandalo a:
gmantil@hotmail.com
Y yo lo compilo para ver si encuentro que es lo que te sale.
gmantil
-
Hola Snorker:
Ya te regresé un correo con tu programa y mis observaciones.
Seguimos en contacto,
gmantil
-
Si, ya lei tu correo y ya he visto los errores que me dijiste, ya he depurado esos errores y ya no me da ningun error en el quicksort ni en ningun lado, MUCHAS GRACIASSSSSS :jumpie::jumpie: