¡Ayuda a resolver problemas de C++! !
El resultado de la prueba se muestra detrás del código. Algunas preguntas no requieren descifrado. Los publicaré en mi espacio a medida que los mejore.
PD
La traducción de anon_ en el cuarto piso es demasiado pobre... ¿Podría ser publicada por Ciba?
Probé la clase nekitarc en el quinto piso, y los resultados fueron correctos, pero las ideas no estaban claras, las fórmulas me daban dolor de cabeza... y no hay límite en el rango de valores de los parámetros.
Código completo:
# include & ltstring& gt
# include & ltiostream & gt
Usar espacio de nombres std
tClasificación de bucle tLoop {
Público:
Cifrado de cadena estática (int firstSize, int firstRotate, int secondRotate, mensaje de cadena);
}; p>
string twrotationcypher::encrypt(int primer tamaño, int firstRotate, int secondRotate, mensaje de cadena)
{
firstSize % = 26
firstRotate % = firstSize
segundo giro % = 25-primer tamaño+1;
Resultado de cadena = mensaje;
int len = longitud del mensaje();
/*
for(int j = 0; j & ltlenj++)
resultado en(I)= para bajar (resultado. en(I) ).
*/
for(int I = 0;i<leni++)
{
int c = mensaje .
if(c & gt;= ' a ' & amp& ampc & lt= 'z' ) //Es una letra minúscula
{
if (c-' a '-primer tamaño+1 & lt;= 0) //En el primer grupo
{
c+= primera rotación;
if(c-' a '>= primer tamaño)c-= primer tamaño;
} else { //En el segundo grupo
c+= segundo giro;< /p >
if(c & gt;z')c-=(26-primer tamaño);
}
}
resultado en(. I)= c;
}
Resultado devuelto;
}
void main()
{
cout & lt& lttwrotationcypher::encrypt(6, 3, 4, " abcdef ")& lt; & ltendl
cout & lt& lttwrotationcypher::encrypt(6, 3 , 4 , "ghijklmnopqrstuvwxyz")& lt;& ltendl
cout & lt& lttwrotationcypher::encrypt(13, 0, 0, "Esta cadena no cambiará en absoluto")& lt& ltendl
//Return: "Esta cadena no cambiará en absoluto"
cout & lt& lttwrotationcypher::encrypt(13, 7, 0, "Sólo las letras a a m en esta cadena cambiarán ")& lt& ltendl
//Return: " onfy TBL flttlls h a g cn TBCs strcna jbhnal "
cout & lt& lttwrotationcypher::encrypt(9, 0, 16, " j a z cambiará aquí")& lt& ltendl
//Return: " z sn y vikk chamge heqe "
cout & lt& lttwrotationcypher::encrypt(17, 9, 5. "El el ágil zorro marrón saltó sobre el perro perezoso")& lt& ltendl
//Return: " yqn izalc kwgsf ogt bzehnm grnw yqn djvu mgp "
cout & lt& lttwrotationcypher ::encrypt( 3, 1, 2, "Ten cuidado con los espacios extraños")& lt& ltendl
//Return: " ybvaj qwv hqt uvtbpig urbakpi "
}
Resultado de salida:
defabc
klmnopqrstuvwxyzghij
Esta cadena no cambiará en absoluto
onfy TBL flttrs h a g cn TBCs str CNA jbnal
z sn y vikk chamge heqe
yqn iz ALC kwgsf ogt bzehnm grnw yqn djvu mgp
ybvaj qwv hqt uvtbpig urbakpi
Presiona cualquier tecla para continuar