quarta-feira, 24 de outubro de 2018

URI PROBLEMA 1253 - Cifra de César SOLUÇÃO EM C

URI Online Judge | 1253

Cifra de César

By TopCoder*  USA
Timelimit: 1
Júlio César usava um sistema de criptografia, agora conhecido como Cifra de César, que trocava cada letra pelo equivalente em duas posições à direita no alfabeto (por exemplo, 'A' vira 'C', 'R' vira 'T', etc.). Ao fim do alfabeto nós voltamos para o começo, isto é 'Y' vira 'A'. Nós podemos, é claro, tentar trocar as letras com quaisquer número de posições.

Entrada

A entrada contém vários casos de teste. A primeira linha de entrada contém um inteiro que indica a quantidade de casos de teste. Cada caso de teste é composto por duas linhas. A primeira linha contém uma string com até 50 caracteres maiúsculos ('A'-'Z'), que é a sentença após ela ter sido codificada através desta Cifra de César modificada. A segunda linha contém um número que varia de 0 a 25 e que representa quantas posições cada letra foi deslocada para a direita.

Saída

Para cada caso de teste de entrada, imprima uma linha de saída com o texto decodificado (transformado novamente para o texto original) conforme as regras acima e o exemplo abaixo.



#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
int n,s,x,y,tam;
char p[51];
scanf("%d",&n);
for(x=0;x<n;x++){
scanf("%s",p);
scanf(" %d",&s);
for(y=0,tam=strlen(p);y<tam;y++){
toupper(p[y]);
if(p[y]-s<65){
p[y]=p[y]+26;
}
p[y]=p[y]-s;
printf("%c",p[y]);
}
printf("\n");
}
return 0;
}

Nenhum comentário:

Postar um comentário

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133 Resto da Divisão Adaptado por Neilor Tonin, URI   Brasil Timelimit: 1 Escreva um programa que leia 2 valo...