ハッシュについて
Posted: 2018年12月12日(水) 16:37
現在、テキストから読み込んだ英単語100個をハッシュ値を求めて、それを配列にいれて同じ値を探したいと考えています。
そこで、配列にいれたハッシュ値の重複を表示する方法がわからないのでわかるかたは教えてください
そこで、配列にいれたハッシュ値の重複を表示する方法がわからないのでわかるかたは教えてください
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define HASHMAX 100
#define LineMax 100
#define N 100
unsigned int MakeHash1(char* str, unsigned int hashmax);
int main(void){
FILE * fp;
char Lines[LineMax][256];
char MakeHash_table[N]
unsigned int i;
int j,k,count_MakeHash;
fp = fopen("text.txt","r");
if( fp == NULL ){
printf( "ファイルオープンエラー\n" );
return -1;
}
for(i=0; i<LineMax && fgets( Lines[i] , sizeof(Lines[i]) , fp ) != NULL;i++){
// printf( "Lines[%d]=%s", i,Lines[i] );
}
fclose( fp );
for(i=0;k<100;k++){
MakeHash_table[k] = count_MakeHash = MakeHash1(Lines[k],19);
}
return 0;
}
unsigned int MakeHash1(char* str, unsigned int hashmax) {
unsigned int n, length, hash;
length = strlen(str);
for(n = 0, hash = 0; n < length; n++) {
hash += (int)str[n];
}
return hash % hashmax;
}