• 0
Sign in to follow this  
Luiz Alexandre

critografia

Question

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

 

Edited by Luiz Alexandre

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
Guest

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)


 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this