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.
#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;
}