marcoshuck

Orden por apellido - Archivos y cadenas

Nov 1st, 2013
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define SIZE_V 3
  5.  
  6. typedef struct
  7. {
  8.     char nombre[30],
  9.     apellido[30];
  10. } unNombre;
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14.     unNombre v[SIZE_V];
  15.     unNombre aux;
  16.     int i, j;
  17.     strcpy(v[0].nombre, "Marcos");
  18.     strcpy(v[0].apellido, "Huck");
  19.    
  20.     strcpy(v[1].nombre, "Ariel");
  21.     strcpy(v[1].apellido, "Borches");
  22.    
  23.     strcpy(v[2].nombre, "Pedro");
  24.     strcpy(v[2].apellido, "Gomez");
  25.     for(i = 0; i < SIZE_V-1; i++)
  26.     {
  27.         for(j = i + 1; j < SIZE_V; j++)
  28.         {
  29.             if(strcmp(v[i].apellido, v[i+1].apellido) > 0)
  30.             {
  31.                 strcpy(aux.apellido, v[i].apellido);
  32.                         strcpy(aux.nombre, v[i].nombre);
  33.                 strcpy(v[i].apellido, v[j].apellido);
  34.                 strcpy(v[i].nombre, v[j].nombre);
  35.                 strcpy(v[j].apellido, aux.apellido);
  36.                 strcpy(v[j].nombre, aux.nombre);
  37.             }
  38.         }
  39.     }
  40.     for(i = 0; i < 3; i++)
  41.     {
  42.         printf("%s, %s\n", v[i].apellido, v[i].nombre);
  43.     }
  44.     system("PAUSE");   
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment