Ir para conteúdo
Fórum Script Brasil
  • 0

critografia


Luiz Alexandre

Pergunta

Olá amigos, tenho um trabalho da faculdade para dia 23, assim apesar de estar cursando o 3 semestre não tenho muita experiência em C,  então estou aqui para pedi ajuda. tenho que fazer um algoritmo que decifre um dado texto baseado em análise de frequência da linha portuguesa. A chave  para isso são as letras aesrdnitmulcvpgqbfhjxzkyw. e o testo cscmxfso.

eu fiz um case para cada letra como no exemplo, será que da certo? alguém pode me ajudar 

 

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main( void) {
	{
  char valor;
 
  printf ("Digite uma letra: ");
  scanf("%c", &valor);
 
  switch ( valor){
  
     case 'c':
       printf ("a");
     
         
         case 'e' :
         	printf ("r");
         	break;
     
 
     default :
       printf ("Valor invalido!\n");
  }
 
  
  return 0;
}
	return 0;
}

 

Editado por Luiz Alexandre
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá. Ficou meio vaga a questão de qual letras do alfabeto você deve trocar. Por exemplo, se a letra é "c" teria q mudá-la para q letra?

Mesmo assim vou passar uma mesma abordagem q passei agora a pouco em um exercício semelhante, mas seria extremante necessário saber exatamente qual letra do alfabeto devo trocar por qual letra

Segue o código:

 

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

int main()
{
    char texto[50], frase[50];

    int size,i;
    printf("Digite o texto para ser alterado: ");
    scanf("%s", frase);

    size = strlen(frase);

    strcpy(texto, frase);

    for(i = 0; i < size; i++)
    {
        switch (texto[i])
        {
        case 'a':
            texto[i] = 'a';
            break;
        case 'b':
            texto[i] = 'e';
            break;
        case 'c':
            texto[i] = 's';
            break;
        case 'd':
            texto[i] = 'r';
            break;
        case 'e':
            texto[i] = 'd';
            break;
        case 'f':
            texto[i] = 'n';
            break;
        case 'g':
            texto[i] = 'i';
            break;
        case 'h':
            texto[i] = 't';
            break;
        case 'i':
            texto[i] = 'm';
            break;
        case 'j':
            texto[i] = 'u';
            break;
        case 'k':
            texto[i] = 'l';
            break;
        case 'l':
            texto[i] = 'c';
            break;
        case 'm':
            texto[i] = 'v';
            break;
        case 'n':
            texto[i] = 'p';
            break;
        case 'o':
            texto[i] = 'g';
            break;
        case 'p':
            texto[i] = 'q';
            break;
        case 'q':
            texto[i] = 'b';
            break;
        case 'r':
            texto[i] = 'f';
            break;
        case 's':
            texto[i] = 'h';
            break;
        case 't':
            texto[i] = 'j';
            break;
        case 'u':
            texto[i] = 'x';
            break;
        case 'v':
            texto[i] = 'z';
            break;
        case 'x':
            texto[i] = 'k';
            break;
        case 'w':
            texto[i] = 'y';
            break;
        case 'y':
            texto[i] = 'w';
            break;
        case 'z':
            texto[i] = ' ';
            break;
        }
    }

    printf("\nTexto original: %s\n", frase);
    printf("Novo texto: %s\n", texto);
}

Como não sei se é essa as letras a ser usadas fica difícil resolver a questão.

Mas se deu p ajudar com relação o forma de fazer o exercício ok

Agora creio q basta colocar os caracteres corretos para cada letra do alfabeto (pelo menos é o q espero q aconteça)


 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...