ordenar por apellido ascendente, y por nombre descendente

Iniciado por matiapache12, 26 Octubre 2016, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

matiapache12

esta es la parte del codigo, necesito que me ordene primero por apellido de manera ascendente y despues por nombre de manera descendente
AYUDA PORFAAA
int i;
   int j;
   eCliente auxi;
   eCliente auxo;
   for (i=0;i<tam;i++)
   {
   for (j=0;j<tam-1;j++)
   {
   if (strcmp(clientes[i].apellido, clientes[j].apellido)>0)
   {
   auxi=clientes[i];
   clientes[i]=clientes[j];
   clientes[j]=auxi;
   for(i=0;i<tam;i++)
   {
   if(strcmp(clientes[i].apellido, clientes[j].apellido)==0)
   {

   for (i=0;i<tam;i++)
   {
   for (j=0;j<tam-1;j++)
   {
   if (strcmp(clientes[i].nombre, clientes[j].nombre)<0)
   {
   auxo=clientes[i];
   clientes[i]=clientes[j];
   clientes[j]=auxo;
   }
   }
   }
   }
   }
   }
   }
   }



Mod: Los códigos deben ir en etiquetas GeSHi

palacio29

Cita de: matiapache12 en 26 Octubre 2016, 16:46 PM
esta es la parte del codigo, necesito que me ordene primero por apellido de manera ascendente y despues por nombre de manera descendente
AYUDA PORFAAA
int i;
   int j;
   eCliente auxi;
   eCliente auxo;
   for (i=0;i<tam;i++)
   {
   for (j=0;j<tam-1;j++)
   {
   if (strcmp(clientes[i].apellido, clientes[j].apellido)>0)
   {
   auxi=clientes[i];
   clientes[i]=clientes[j];
   clientes[j]=auxi;
   for(i=0;i<tam;i++)
   {
   if(strcmp(clientes[i].apellido, clientes[j].apellido)==0)
   {

   for (i=0;i<tam;i++)
   {
   for (j=0;j<tam-1;j++)
   {
   if (strcmp(clientes[i].nombre, clientes[j].nombre)<0)
   {
   auxo=clientes[i];
   clientes[i]=clientes[j];
   clientes[j]=auxo;
   }
   }
   }
   }
   }
   }
   }
   }



Mod: Los códigos deben ir en etiquetas GeSHi

No recuerdo muy bien pero creo que el for es asi

for(i=0;i<N;i++)
{
    for(j=i+1;j<N;i++)
     {

CODIGO
     }

}


Quizas de la manera que lo haces vos esta bien, pero yo siempre lo uso asi cuando es ordenar, en cuanto a las demas sentencias, creo que el strcpy esta bien y los auxiliares y las demas asignaciones tambien estan bien, fijate si es el for.