Colección de citas famosas - Colección de versos - ¡Ayuda a resolver problemas de C++! !

¡Ayuda a resolver problemas de C++! !

De acuerdo con los requisitos del tema, se proporcionan el código de la parte de cifrado y el código de salida de la prueba.

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);

};

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