elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Problema con función hash con peso en: 11 Abril 2015, 03:27 am
¿Qué tal? Soy nuevo en esto de la programación y recién inicio con funciones hash, tengo un problema con la función de dispersión con peso, cuando ingreso una cadena con longitud 6 la función genera números negativos y cuando son cadenas de 5 o menos sí funciona correctamente. ¿Qué problema logran identificar?
Código

Código:
#define MAX 100
#define PESO 37
void hashcliente(char nombre[]){ //generador de posición con peso hash
int suma=0;
int lugar=0;
int i=0; //posición
int j=0; //potencia
int ascii=0;

j=strlen(nombre)-1; //indica a qué potencia se elevará el peso
while(i<(strlen(nombre))){ //se realiza hasta que la posición del caracter sea igual a la longitud de la cadena, si la cadena=6 i=0 a 5
ascii=(int)nombre[i]; //convierte el caracter a su valor en ascii
suma=suma+(ascii*pow(PESO,j)); //j disminuye mientras i aumenta porque la primera posición se eleva por la longitud-1
i++;
j--;
printf("suma parcial: %d\n", suma);
}
printf("suma total: %d\n", suma);
lugar=suma%MAX;
printf("lugar: %d\n", lugar);
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines