해시의 division method를 사용하였는데
메인함수에서 불러와서 사용을 하여야하는데
메인함수에서 불러와 사용할 수 있도록 도와주실분 계신가요 ㅠ

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

int Division_Method(int *, int *, int , int , int, int);
void Dvision_search(int *, int *, int , int, int , int );
int division_hash(int *, int , int);
int main(void)
{
 int i;
 srand(time(NULL));
 for(i=0; i<10; i++)
  printf("%5d", rand()%45+1);
 
 printf("\n");

 system("PAUSE");
 return 0;
}


 

int Division_Method(int *hash_table, int *elements_storage, int elements, int probing_method, int hash_tables, int prime_number)
{
 int collision_count = 0, division_number, another_division_number, reminder, i, j;

 division_number = prime_number;

 another_division_number = prime_number + 5;

 for(i=0; i<elements; i++)
 {
  j = 1;
  reminder = division_hash(elements_storage, division_number, i) % hash_tables;
  if((hash_table[reminder] != -1) && (probing_method ==1))
  {
   while(1)
   {
    collision_count++;
    reminder=((division_hash(elements_storage, division_number, i)+j)%division_number)%hash_tables;
    if(hash_table[reminder] = -1)
    {
     hash_table[reminder] = elements_storage[i];
     break;
    }
    j++;
   }
  }
  else if((hash_table[reminder] != -1) && (probing_method == 2))
  {
   while(1)
   {
    collision_count++;
    reminder=(division_hash(elements_storage, division_number, i) + j*division_hash(elements_storage, another_division_number, prime_number));

if(hash_table[reminder] = -1)
{
 hash_table[reminder] = elements_storage[i];
 break;
}
j++;
   }
  }
  else
   hash_table[reminder] = elements_storage[i];
 }
 return collision_count;
}

void Dvision_search(int *hash_table, int *elements_storage, int elements, int probing_method, int hash_tables, int prime_number)
{
 int i, j, division_number, another_division_number, reminder;
 division_number = prime_number;
 another_division_number = prime_number +5;

 for(i=0; i<elements; i++)
 {
  j = 1;
  reminder = division_hash(elements_storage, division_number, i)%hash_tables;

  if((hash_table[reminder] != elements_storage[i])&&(probing_method == 1))
  {
   while(1)
   {
    reminder = ((division_hash(elements_storage, division_number,i) + j) % division_number)%hash_tables;

    if(hash_table[reminder] = elements_storage[i])
     break;

    j++;
   }
  }
  else if((hash_table[reminder] != elements_storage[i])&&(probing_method == 2))
  {
   while(1)
   {
    reminder = (division_hash(elements_storage, division_number,i) + j*division_hash(elements_storage, another_division_number, prime_number));

     if(hash_table[reminder] = elements_storage[i]) break;
    j++;
     
   }
  }

  else
   continue;
 }
}
int division_hash(int *elements_storage, int division_number, int current_order)
{
 return (elements_storage[current_order] % division_number);
}