Clasificación de cadenas
#Contiene? & ltfstream & gt
¿Usar? ¿Espacio de nombres? std
¿Nulo? main()
{
ifstreaminfile("D:\\input.txt"?,?ios::in?);
ofstream? outfile("D:\\output.txt",?IOs::out);
Si? (archivo)
{
int? ¿No? =?0;
¿archivo? >>? Ninguno;
Carc. * p【100】;
¿Para qué? (int?i?=?0;?i?<?none;?i++)
{
p[I]? =?¿Nuevo? char
archivo? >>? p【I】;
}
¿Para qué? (int?I?=?0;?I?<?No;?i++)
{
¿Para qué? (int?j?=?i?+?1;?j?<?none;?j++)
{
¿Si? (strlen(p[j])?<?strlen(p[I]))
{
//Si la longitud de este último es menor que la del primero, cámbialo .
Carácter. *p1? =?p【Yo】;
p【Yo】? =?p【j】;
p【j】? =?p 1;
}
¿Y si? ¿si? (strlen(p[j])?==?strlen(p[I]))
{
//Cuando la longitud de este último es igual a la primera, compare este último.
¿Y si? (strcmp(p[I],?p[j])?>?0)
{
Car. *p2? =?p【Yo】;
p【Yo】? =?p【j】;
p【j】? =?p2;
}
}
}
archivo de salida? <<? pi】? <<? "\t";
}
¿archivo de salida? <<? endl
¿Para qué? (int?I?=?0;?I?<?No;?i++)
{
¿Para qué? (int?j?=?i?+?1;?j?<?none;?j++)
{
¿Si? (strcmp(p[I],?p[j])?>?0)
{
Car. *p3? =?p【Yo】;
p【Yo】? =?p【j】;
p【j】? =?P3;
}
}
¿archivo de salida? <<? pi】? <<? "\t";
}
¿archivo de salida? <<? endl
}?
¿Otro
{
archivo de salida? <<? "¡¡¡El archivo de prueba Input.txt no existe!!!"? <<? endl
}
infile.close()? ;
outfile . close();
}
Ejecutar resultados: