Ir ao conteúdo
  • Cadastre-se

Naruto101

Membro Júnior
  • Total de itens

    7
  • Cadastrado em

  • Última visita

  • Qualificações

    0%
  1. Dada uma configuração inicial, a máquina de criptografia alemã Enigma, da Segunda Guerra Mundial, substituía cada letra digitada no teclado por alguma outra letra. A substituição era bastante complexa, mas a máquina tinha uma vulnerabilidade: uma letra nunca seria substituída por ela mesma! Essa vulnerabilidade foi explorada por Alan Turing, que trabalhou na criptoanálise da Enigma durante a guerra. O objetivo era encontrar a configuração inicial da máquina usando a suposição de que a mensagem continha uma certa expressão usual da comunicação, como por exemplo a palavra ARMADA. Essas expressões eram chamadas de cribs. Se a mensagem cifrada era, por exemplo, FDMLCRDMRALF, o trabalho de testar as possíveis configurações da máquina era simplificado porque a palavra ARMADA, se estivesse nessa mensagem cifrada, só poderia estar em duas posições, ilustradas na tabela abaixo com uma seta. As demais cinco posições não poderiam corresponder ao crib ARMADA porque ao menos uma letra do crib, sublinhada na tabela abaixo, casa com sua correspondente na mensagem cifrada; como a Enigma nunca substituiria uma letra por ela própria, essas cinco posições poderiam ser descartadas nos testes. Neste problema, dada uma mensagem cifrada e um crib, seu programa em C deve computar o número de posições possíveis para o crib na mensagem cifrada. Entrada A primeira linha da entrada contém a mensagem cifrada, que é uma sequência de, pelo menos, uma letra e no máximo 104 letras. A segunda linha da entrada contém o crib, que é uma sequência de, pelo menos, uma letra e no máximo o mesmo número de letras da mensagem. Apenas as 26 letras maiúsculas, sem acentuação, aparecem na mensagem e no crib. 1 Extraído e adaptado do problema E (Enigma) da prova da 1º fase da Maratona de Programação da SBC de 2018. Saída Imprima uma linha contendo um inteiro, indicando o número de posições possíveis para o crib na mensagem cifrada. Exemplo Entrada FDMLCRDMRALF ARMADA Saída 2 Entrada AAAAABABABABABABABABA ABA Saída 7 Para resolver este problema você deve obrigatoriamente implementar a seguinte função: /* função que devolve verdadeiro se é possível que o crib esteja localizado a partir da posição index da mensagem */ bool eh_possivel(int index, char * mensagem, char * crib);
  2. @arfneto Obrigado, eu tava tentando fazer esses dias também não consegui usar as funções... como pede o enunciado mas fica ai se alguém conseguir fazer usando Funções quiser compartilha aqui para todos saber como faz !!!
  3. @arfneto Ola ja postei mandei tudo que consegui... to tentando elabora aqui e nada to tentando outro forma mas não saiu nada. As atividade esta abaixo nas foto numerada do começo ao fim.
  4. Não estou conseguindo fazer mesmo se alguém puder me mostra como eu faço... É uma atividade legal de fazer to quebrando a cabeça mas não to conseguindo Tenho pouco tempo pra termina isso
  5. Ola Mauro Britivaldo obrigado por ta me ajudando também Eu tava tentando resolver esses dias... não consegui printar na tela... não mostrou erro no codigo, segue como fiz abaixo: //No arquivo covid19.c abaixo: #include <stdio.h> #include <stdlib.h> #include "covid19.h" int main() { int le_paises(int num_paises, char read_p); int num_paises; printf("Digite o numero de paises:\n"); scanf("%d", &num_paises); char read_p[1][2]; char i, j; for(i=0; i<2; i++){ printf("Digite os pais:\n"); scanf("%s", read_p[j]); } for(j=i; j<2; j++){ printf("%s\n\n", read_p[j]); } printf("%d \n\n", num_paises); return 0; } //No arquivo covid19.h abaixo: #ifndef _COVID19_H_INCLUDED #define _COVID19_H_INCLUDED #define TAM_MAX_NOME 50 int le_matriz(int num_paises, char read_p[][TAM_MAX_NOME]); #endif
  6. Oi eai Preciso de auxilio... obrigado por comenta. Estou a uma semana quase tentando fazer isso. O usuario tem que digita e passar o numero de países que ele ira digita em seguida os nomes dos paises que ja resolvi essa parte abaixo. Não to conseguindo printar na tela a matriz abaixo não sei porque, acho q seria o primerio passo começar... To tentando chamar a função... no proprio arquivo .c primeiro para depois por em um .h Eu estou tentando printar os paises de inicio e elaborar a matriz ainda... se souber me ajuda ... Ficou assim ate agora: #include<stdio.h> #include<stdlib.h> //#ifndef _COVID19_H #define _COVID19_H #define TAM_MAX_NOME 50 void le_paises(int num_paises, int matriz, char read_p[][TAM_MAX_NOME + 1]); int main(void) { int num_paises; int i, j; char matriz[49][49]; printf("Digite o numero de paises:\n"); scanf("%d", &num_paises); printf("Digite os pais:\n"); for(i=0; i<num_paises; i++){ for(j>i; j<num_paises; j++){ scanf("%s ", &matriz[j]); } } } //abaixo não consego chamar não sei o porque a função: /*le_paises(num_paises, matriz, read_p); return 0; } void le_paises(int num_paises, int matriz, char read_p[][TAM_MAX_NOME + 1]) { char read_p[TAM_MAX_NOME][TAM_MAX_NOME]; int m, n; printf("Os paises:\n\n"); printf("%d", num_paises); for(m=0; m<num_paises; m++){ for(m>n; n<matriz; n++){ printf("%s", read_p[m][n]); } } } */ adicionado 52 minutos depois Sou estudante estou aprendendo ainda. O problema acho que é em utilizar os define com os void Preciso que alguém me em dique o caminho para eu aprender é o que eu mais quero assim consegui termina essa atividade. A saída tem que sair como na foto abaixo que estou mandando:
  7. Atividade sobre o covid19 nela tem que ter uma matriz com o nome dos países e o numero de infectados. -Numero total de contágios por pais Brasil: 7845, Estados Unidos: 242960, Argentina: 949-- -Dia com maior numero de contágios por pais Brasil: 10 (1222) Estados Unidos: 10 (33725) Argentina: 5 (146) -Dia com maior numero de contágios 10: 35045 -Maior sequencia crescente de contagios por pais Brasil: 3 Estados Unidos: 7 Argentina: 3- -Tem que chamar no modulo covid19.c com a implementação das funções definida no arquivo covid19.h e o makefile -Para resolver isso tem que usa essas funções a baixo: #ifndef _COVID19_H #define _COVID19_H #define TAM_MAX_NOME 50 */Esse #define TAM_MAX_NOME 50 tem que lê os nomes dos países. Função onde o número de países e o segundo é o vetor de de strings (matriz de caracteres) onde os nomes dos países devem ser armazenados. */ */ void le_paises(int, char [][TAM_MAX_NOME + 1]); */ void le_contagios(int, int, int [][*]); */ int total_contagios_pais(int, int [][*], int); . */ void dia_maior_contagio_pais(int, int [][*], int, int *, int *); */ void dia_maior_contagio(int, int, int [][*], int *, int *); . */ int maior_sequencia_crescente(int, int [][*], int); #endif

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

Redes-Wi-Fi-capa-3d-newsletter.png

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!