Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Desesperado333

C Questão de programação sobre função Hash

Recommended Posts

galera, não estou conseguindo fazer a seguinte questão, gostaria de uma ajuda:

 

Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Uma empresa definiu a forma de geração de uma string qualquer da seguinte forma:  

Você terá como entrada uma string alfabética de tamanho qualquer e um inteiro que define o tamanho do bloco e que funcionará como chave da função. A partir daí o valor de cada letra da string será calculado da seguinte forma

Valor = (Posição no alfabeto) + (posição no bloco) + (número do bloco)

Todas posições são baseadas em zero. 'A' tem posição 0 no alfabeto, 'B' tem posição 1 no alfabeto, e assim por diante o primeiro bloco é o bloco 0.  

O cálculo de hash retornado é o resto da divisão soma de todos os valores de caracteres da entrada por 100. Por exemplo, se a entrada for “ABcdE” e a chave for  4 teremos:

 

A = 0 + 0 + 0 = 0

B = 1 + 1 + 0 = 2

c = 2 + 2+ 0 = 4

d = 3 + 3 + 0 = 6

E = 4 + 0 + 1 = 5

 

O cálculo final de hash será o resto da divisão de 0 + 2+ 4 + 6 + 5 = 17

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Desesperado333    então o bloco  é uma string ?    poste o que você já conseguiu fazer,  para podermos ver como está e em que podemos ajudar .

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

O Quadro, para mim, fará sentido somente Se:

  • • Todos em (número do bloco) tiverem  1 ou 0;
  • • Em (posição no bloco) E deve ter 4.

 

15 horas atrás, Desesperado333 disse:

A = 0 + 0 + 0 = 0

B = 1 + 1 + 0 = 2

c = 2 + 2+ 0 = 4

d = 3 + 3 + 0 = 6

E = 4 + 0 + 1 = 5

Capturar.PNG

 

 

valeu!

~~ / ~~

Editado por AnsiC
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×