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

Mudar letras


Henrique Menna

Pergunta

estou com uma duvida, to fazendo um algorítimo que pegue a frase do usuário que não tenha sentido, como se fosse um código, para resolver tem um chave que é as letras que mais sai do alfabeto português, para resolver eu tenho que associar cada letra do texto com a letra que mais usada no português, EX c =a, z=o e assim por diante, eu fiz o código só que ele não muda fica sempre a mesma letra que o usuário digitou. alguém poderia me dar umas dicas.

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

main()
{
  char chave[20],texto[20],frase[20];
  
  int size,i;
  printf("Digite o texto para ser alterado: ");
  scanf("%s",chave);
  size=strlen(chave);
  strcpy(texto,chave);  
  for(i=0;i<size;i++)
    {
     if (frase[i]=='c')
       frase[i]='a';
     else if (texto[i]=='b')
       frase[i]='s';
     else if (texto[i]=='d')
       frase[i]='e';
     else if (texto[i]=='e')
       frase[i]='d';
   } 
  printf("Texto original:\n%s\n Novo texto:\n%s\n",chave,texto);  
}

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá. Apesar de não ter entendido muito bem o exercício, posso dizer q um ponto q deveria ser mudado é q em nenhum momento você copia para a string frase o conteúdo da string chave e dentro do FOR você procura por um índice que não vai estar na string frase, pois a mesma está vazia

tenta isso:

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

int main()
{
    char chave[20],texto[20];

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

    size = strlen(chave);
    strcpy(texto, chave);

    for(i = 0; i < size; i++)
    {
        if (texto[i] == 'c')
            texto[i] = 'a';
        else if (texto[i] = 'b')
            texto[i] = 's';
        else if (texto[i] == 'd')
            texto[i] = 'e';
        else if (texto[i] == 'e')
            texto[i], 'd';
    }

    printf("Texto original:\n%s\nNovo texto:\n%s\n", chave, texto);
}

 

Link para o comentário
Compartilhar em outros sites

  • 0

Olá. Estive pensando a respeito do código q postei acima e devo reconhecer q essa não é a melhor forma para resolver o problema baseado nos resultados obtidos com a execução do código.

Negócio é pensar em uma outra forma para resolver essa questão

E uma das formas q me vei agora d tentar resolver o exercício é essa:

 

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

int main()
{
    char chave[20],texto[20];

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

    size = strlen(chave);
    strcpy(texto, chave);

    for(i = 0; i < size; i++)
    {
        switch (texto[i])
        {
        case 'c':
            texto[i] = 'a';
            break;
        case 'b':
            texto[i] = 's';
            break;
        case 'd':
            texto[i] = 'e';
            break;
        case 'e':
            texto[i] = 'd';
            break;
        }
    }

    printf("Texto original:\n%s\nNovo texto:\n%s\n", chave, texto);
}

Dá uma testada para ver se é isso mesmo q você quer e aí avisa, ok?

exemplo de saída:

Digite o texto para ser alterado: cbde
Texto original:
cbde
Novo texto:
ased 

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...