No consigo ordenar cadenas!! [C]

Hola!! Tengo un problemilla con una practica en c, tengo que tener una estructura que tenga los campos de articulo (entero), descripcion(cadena) y existencias(entero) y ordenarlo por el campo de descripción, pero es que no consigo ordenarlo!! Y eso que he probado ya varios métodos distintos... A ver si me podeis echar una mano!! Gracias!!
void ordenar(struct productos n[], int tam){
int salto;
int sw;
int guar1,guar2;
char guar[21];
salto=tam;
int i;
do{
   salto=salto/2;
   do{
      sw=0;
      i=0;
      do{
         if(strcmp(n[i].descr,n[i+salto].descr)>0){
            strcpy(guar,n[i].descr);
            guar1=n[i].codigo;
            guar2=n[i].exist;
            strcpy(n[i].descr,n[i+salto].descr);
            n[i].codigo=n[i+salto].codigo;
            n[i].exist=n[i+salto].exist;
            strcpy(n[i+salto].descr,guar);
            n[i+salto].codigo=guar1;
            n[i+salto].exist=guar2;
            sw=1;
            }
         i++;
      }while ((i+salto)<=(tam-1));
   }while (sw!=0);
}while (salto>1);
Hay un bonito subforo de Desarrollo en Otras Consolas (Aunque aprovecho para decir que hecho en falta algun sitio donde venga mejor)
EDIT: No lo digo a las malas, es porque creo que alli le pega mas.
bregan90 escribió:Hay un bonito subforo de Desarrollo en Otras Consolas (Aunque aprovecho para decir que hecho en falta algun sitio donde venga mejor)


Tienes razón, está cogido un poco por puntillas para meterlo en otras consolas... Si a Campa le parece mal que esté aquí, que me lo mueva y no volveré a escribir aquí sobre esto...
Hay otro sitio, en Software libre, pero tambien esta cogido muy muy con pinzas.

Alli hay un hilo de ayuda en C
darix escribió:Hay otro sitio, en Software libre, pero tambien esta cogido muy muy con pinzas.

Alli hay un hilo de ayuda en C


Gracias Darix! Ahí si que me parece más correcto!
Si Campa anda por aquí, muéveme el hilo!!! [toctoc] [toctoc]
4 respuestas