Ir ao conteúdo

Posts recomendados

Postado

Exercício sobre Strings em C

 

O código de César é uma das mais simples e conhecidas técnicas de criptografia. É um tipo de substituição na qual cada letra do texto é substituída por outra, que se apresenta no alfabeto abaixo dela um número fixo de vezes.

 

Por exemplo: com uma troca de três posições, A seria substituído por D, B se tornaria E, e assim por diante. String: a ligeira raposa marrom saltou sobre o cachorro cansado

 

Nova string: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR

 

Implemente um algoritmo em C que faça uso desse Código de César, com a troca das letras sendo realizada por 3 posições. O usuário vai fornecer uma string e o algoritmo deve retornar a string codificada.

  • Curtir 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 2
Postado

O codigo para realizar as trocas do caracteres na string, subistituindo pela posicao atual + 3 do vetor de caracteres e algo assim 

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

int main(){
    
     int cont, contw, contww, inc, tStr =0;
     char alf[100] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
     char strIn[25], strOut[25];
     
     printf("Digite a sequencia de letras\nCaracteres= ");
     gets(strIn);
     
     cont = strlen(alf);
     tStr = strlen(strIn);
     
 for(contww= 0; contww < tStr; contww++){
     for(contw = 0; contw < cont; contw++){
         
         if(strIn[contww] == alf[contw]){
            inc = contw + 3;
            strOut[contw] = alf[inc];
            printf("%c", strOut[contw]);
         }
     }
  }
     
    return 0;
    
}

Ja faz as trocas da sequencia de caracteres, tendo como base o alfabeto completo armazenado em um vetor, para servir de "auxiliar" para realizar as trocas.

 

Pode incrementar algo a mais no codigo se quiser.

  • Curtir 1
Postado

Exercícios de cifra de César envolvem aprender que o tipo char é um tipo de números inteiros, e como pode aproveitar dessa propriedade.

 

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

int main()
{
    char texto[1000];
    int i;
    
    printf("Digite uma frase: ");
    scanf(" %999[^\n]", texto);
    getchar();
    
    for(i=0; texto[i] != '\0'; i++) {
        if (isalpha(texto[i])){ //Se o caractere eh uma letra
            texto[i] = toupper(texto[i]) + 3; //Deixa maiuscula e soma 3
            if (texto[i] > 'Z'){ //Se passou da letra Z
                texto[i] = texto[i] - 'Z' + 'A' - 1; //Tira Z e soma o que sobrou a A-1
            }
        }
    }
    
    printf("%s", texto);
    
    return 0;
}

 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!