Colección de citas famosas - Slogan de motivación - La programación en C++ ingresa 5 cadenas, las clasifica según el diccionario de inglés y las genera en orden ascendente. Por favor Dios ayúdame a ver este programa escrito a continuación.

La programación en C++ ingresa 5 cadenas, las clasifica según el diccionario de inglés y las genera en orden ascendente. Por favor Dios ayúdame a ver este programa escrito a continuación.

#¿Incluir? & ltiostream & gt

#Contiene? & ltstring.h & gt

¿Usar? ¿Espacio de nombres? std

int? Señor()

{

¿Ciel? *t[5];? //El puntero de dirección se almacena en 5 cadenas

Char? * p; //Puntero para registrar la dirección de la cadena.

int? I,j,min

cout? <<? Por favor introduzca cinco cadenas. <<? endl

for(I = 0;?i<5;?i++)

{

t[i]? =?¿Nuevo? carácter[20];? //Aplica espacio para el almacenamiento de cadenas.

¿Cin? >>? t[yo];? //Cadena de entrada

}

/* Pensamiento:

? *?1. Comience con la cadena actual, compárela con todas las cadenas posteriores y encuentre la cadena más pequeña (es decir, en orden alfabético)

? *debe ser superior) la cadena es la cadena superior, entonces la cadena más pequeña es la misma que

? *Transposición de cadena actual;

? *?2.Continúe la operación anterior desde la siguiente cadena hasta que solo quede una cadena.

? *(Solo queda una cadena sin nada que comparar, por lo que el siguiente bucle I es de 0 a 0.

?*4.)

? */

for(I = 0;?i<4;?i++)

{

Mín. =?Yo;? //Asumimos que la cadena I-ésima es la primera cadena entre las cadenas restantes,

? //La posición es el valor mínimo.

¿Para qué? (j = I+1;? j & lt5;? J++) //Comparar con i+1 de la cuarta cadena después de la cadena actual.

? ¿si? (strcmp(t[min,t[j])>0)//¿Qué pasa si t[j] es más pequeño que la cadena más pequeña encontrada hasta ahora, digamos

? ¿Sensible? =?j; //La cadena más pequeña de Ming debe ser t[j], la cadena más pequeña actual.

? // la posición debe actualizarse a j, así que registre la posición de j a min y luego continúe.

? //Seguir buscando,? ¿Hasta que salgas de este ciclo

?

/*?Después de saltar del bucle, min es la posición de la cadena mínima actual, entonces, ¿t[min] y t[i] intercambian posiciones? */

/*?Tenga en cuenta que la dirección se almacena en t[i] y t[min]. ¿Solo intercambiar direcciones? */

p? =?t[I]; //Registra la primera dirección de la cadena t[i] en el puntero P.

t[i]=? t[min];? // Asigne la primera dirección de la cadena t [min] a t [i] y se sobrescribirá la dirección original en t [i].

t[min]? =?p; //Asigna la primera dirección de la cadena t[i] original a t[min]

}

cout? <<? endl

for(I = 0;?I<5;?I++)//Cadena de salida

cout? <<? t[yo]? <<? endl

for(I = 0;?I<5;?I++)//Espacio disponible

¿Eliminar? t[I];

¿Volver? 0;

}