Recompensa por puntuación alta, una pregunta de programación en C++ muy simple.
Programa C++:
#include
#define?MAX 101
void?encrypt(char?* fuente,?int?n,?int?k,?char?*dest);
void?main()
{
char?source[ MAX]; //Verso en inglés
int?n,?k;
char?dest[MAX] //Contenido cifrado
obtiene(fuente);
cin>>n>>k;
encrypt(fuente,?n,?k,?dest);
cout<<"antes?encrypt?:?"< cout<<"después?encrypt?:?"< return?0; } void?encrypt(char?*source,?int?n,?int?k,?char?*dest) { int?i,?j; int?count; i?=?0; count? =?0; while(count { for(;*(fuente+i)!='?'? && ?*(fuente+i)!='.';?i++); if(*(fuente+i)!='.') count++; p > for(;*(fuente+i)=='?'?&&?*(fuente+i)!='.';?i++); } for(j=0;?*(fuente+i)!='?'?&&?*(fuente+i)!='.';?j++,i++) {< / p> *(dest+j)?=?*(fuente+i); if(*(dest+j)>='a'?&&?*(dest+j ) <='z') { *(dest+j)?=?(*(dest+j)?-?97?+?k?)?% ? 26?+?97; } else?if(*(dest+j)>='A'?&&?*(dest+j)<='Z ' ) { *(dest+j)?=?(*(dest+j)?-?65?+?k?)?%?26?+? ; } else { *(dest+j)?+=?k; } } *(dest+j)?=?'\0'; } Ejecutar la prueba: