Language: C

#include <stdio.h>
#include <string.h>
#define SIZE 1046527


struct hash{
	char *dictonary[SIZE];
}

struct hash map;

int h1(int k){
	return k%SIZE;
}
int h2(int k){
	return 1+(k%(SIZE-1));
}

int insert2(char *str,int i){
	int p=(h1(k)+i*h2(k))%SIZE;
	if(strlen(map.dictonary[p])==0){
		map.dictonary[p]=str;
		return 0;
	}
	else if(strcmp(str,map.dictonary[p])){
		return 1;
	}else{
		insert2(str,i+1);
	}
}

int getkey(char *str){
	int len=strlen(str);
	int i;
	int key=0:
	for(i=0;i<len;i++){
		char c=str[i];
		key*=5;
		if(c=='A'){
			key+=1;
		}else if(c=='T'){
			key+=2;
		}else if(c=='G'){
			key+=3;
		}else if(c=='C'){
			key+=4;
		}
	}
	return key;
}

void insert(char *str){
	int key=getkey(str);
	insert2(str,0);
}


int find(char *str){
	int key=getkey(str);
	int i=0;
	while(1){
		int p=(h1(k)+i*h2(k))%SIZE;
		if(strcmp(str,map.dictonary[p])){
			printf("yes\n");
			return 0;
		}else{
			if(i==SIZE){
				printf("no\n");
				return 1;		
			}
			i++;
		}
	}
}

int main(){
	unsigned int n;
	char **str1,**str2;
	int i;
	for(i=0;i<n;i++){
		scanf("%s",str1[i]);
		scanf("%s",str2[i]);
		if(strcmp("insert",str1)){
			insert(str2);
		}else{
			find(str2);
		}
	}
	return 0;
}

Compiler output:
main.c:10:1: error: expected ';', identifier or '(' before 'struct'
   10 | struct hash map;
      | ^~~~~~
main.c: In function 'insert2':
main.c:20:19: error: 'k' undeclared (first use in this function)
   20 |         int p=(h1(k)+i*h2(k))%SIZE;
      |                   ^
main.c:20:19: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function 'getkey':
main.c:35:18: error: expected ',' or ';' before ':' token
   35 |         int key=0:
      |                  ^
main.c:36:26: error: expected ';' before ')' token
   36 |         for(i=0;i<len;i++){
      |                          ^
      |                          ;
main.c:36:26: error: expected statement before ')' token
main.c: In function 'find':
main.c:62:27: error: 'k' undeclared (first use in this function)
   62 |                 int p=(h1(k)+i*h2(k))%SIZE;
      |                           ^
main.c: In function 'main':
main.c:83:36: error: passing argument 2 of 'strcmp' from incompatible pointer type [-Wincompatible-pointer-types]
   83 |                 if(strcmp("insert",str1)){
      |                                    ^~~~
      |                                    |
      |                                    char **
In file included from main.c:2:
/usr/include/string.h:156:50: note: expected 'const char *' but argument is of type 'char **'
  156 | extern int strcmp (const char *__s1, const char *__s2)
      |                                      ~~~~~~~~~~~~^~~~
main.c:84:32: error: passing argument 1 of 'insert' from incompatible pointer type [-Wincompatible-pointer-types]
   84 |                         insert(str2);
      |                                ^~~~
      |                                |
      |                                char **
main.c:52:19: note: expected 'char *' but argument is of type 'char **'
   52 | void insert(char *str){
      |             ~~~~~~^~~
main.c:86:30: error: passing argument 1 of 'find' from incompatible pointer type [-Wincompatible-pointer-types]
   86 |                         find(str2);
      |                              ^~~~
      |                              |
      |                              char **
main.c:58:16: note: expected 'char *' but argument is of type 'char **'
   58 | int find(char *str){
      |          ~~~~~~^~~