• Jueves 2 de Mayo de 2024, 07:18

Autor Tema:  Re: un pequeño problem con quicksort  (Leído 2685 veces)

snorker

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: un pequeño problem con quicksort
« en: Martes 27 de Mayo de 2003, 17:00 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #1 en: Miércoles 28 de Mayo de 2003, 14:26 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #2 en: Miércoles 28 de Mayo de 2003, 14:34 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #3 en: Miércoles 28 de Mayo de 2003, 14:40 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #4 en: Miércoles 28 de Mayo de 2003, 14:59 »
0
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

snorker

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #5 en: Miércoles 28 de Mayo de 2003, 23:00 »
0
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:

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #6 en: Miércoles 28 de Mayo de 2003, 23:10 »
0
Hola Snorker:
Mandalo a:

gmantil@hotmail.com

Y yo lo compilo para ver si encuentro que es lo que te sale.

gmantil

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: un pequeño problem con quicksort
« Respuesta #7 en: Jueves 29 de Mayo de 2003, 15:28 »
0
Hola Snorker:
Ya te regresé un correo con tu programa y mis observaciones.

Seguimos en contacto,

gmantil

snorker

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
un pequeño problem con quicksort
« Respuesta #8 en: Jueves 29 de Mayo de 2003, 16:30 »
0
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: