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
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.