Ordenar nombres o cadenas de caracteres

Carlos Ibáñez Freire.

 /* Compara una serie de cadenas (nombres) según su código ASCII, las ordena y las escribe.*/

#include<stdio.h>
#include<conio.h> //permite getch.
#include<string.h> // permite strcmp y strcpy.

int main()
{
    char nombre[10][20];
    char aux[20];//tiene que ser de igual o mayor tamaño que la segunda componente
    //de nombre porque aquí copiaremos esa cadena.
    int i,j,k;
    int l=0;
    printf("Para terminar escriba * \n");
    do
        {
            printf("Introduce un nombre: ");
            gets(nombre[l]);//lee cadenas y las almacena.
            l++;
        }
    while (strcmp(nombre[l-1],"*")!=0);//permite comparar cadenas.

    // ORDENAR CADENAS
    for(i=0; i<l-1; i++)
    {
        k=i;
        strcpy(aux, nombre[i]);
        for(j=i+1; j<l; j++)
        {
            if(strcmp(nombre[j], aux)<0)
            {
                k=j;
                strcpy(aux, nombre[j]);
               //permite hacer una copia auxiliar de la cadena nombre[j];
            }
        }
        strcpy(nombre[k],nombre[i]);
        strcpy(nombre[i],aux);
    }

    for(i=0; i<l; i++)
    {
        printf("%s",nombre[i]);
        printf("\n");
    }

  return 0;
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

3 respuestas a Ordenar nombres o cadenas de caracteres

  1. Ordenación por método de selección.

  2. Joseph dijo:

    Muchas Gracias Esta muy bien explicado tu ejemplo, me haz resuelto todas mis dudas jejejejeje esque de plano tengo unos maestros que no dan una

  3. Ulises dijo:

    Muchas gracias, claro y conciso.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s