Language: C++

#include <stdio.h>
#include <string.h>
#define M 1046527
#define NIL (-1)
#define L 14

char H[M];

int getChar(char ch){
	if (ch =='A') return 1;
	else if (ch =='C') return 2;
	else if (ch =='G') return 3;
	else if (ch =='T') return 4;
	else return 0;
}

long long getKey(char str[]){
	long long sum=0, p = 1, i;
	for (i=0;i < strlen(str); i++){
		sum += p*(getChar(str[i]));
		p *=5;
	}
	return sum;
}

int h1(int key){return key % M;}
int h2(int key){return 1 + (key % (M-1));}

int find(char str[]){
	long long key,i,h;
	key=getKey(str);
	for(i=0;;i++){
		h = (h1(key) + i * h2(key)) % M;
		if (strcmp(H[h],str)==0) return 1;
		else if ( strlen(H[h]) == 0) return 0;
	}
	return 0;
}

int insert(char str[]){
	long long key,i,h;
	key=getKey(str);
	for(i=0;;i++){
		h = (h1(key) + i * h2(key)) % M;
		if (strcmp(H[h],str)==0) return 1;
		else if ( strlen(H[h]) == 0) {
		  strcpy(H[h],str);
		  return 0;
	}
	}
	return 0;
}

int main(){
	int i,n,h;
	char str[L],com[9];
	for(i=0;i<M;i++) H[i]='\0';
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %s",com,str);
		if (com[0] == 'i'){
			insert(str);
		}else{
			if (find(str)){
				printf("yes\n");
			}else{
				printf("no\n");
			}
		}
	}
}

Compiler output:
a.cc: In function 'int find(char*)':
a.cc:34:31: error: invalid conversion from 'char' to 'const char*' [-fpermissive]
   34 |                 if (strcmp(H[h],str)==0) return 1;
      |                            ~~~^
      |                               |
      |                               char
In file included from a.cc:2:
/usr/include/string.h:156:32: note:   initializing argument 1 of 'int strcmp(const char*, const char*)'
  156 | extern int strcmp (const char *__s1, const char *__s2)
      |                    ~~~~~~~~~~~~^~~~
a.cc:35:37: error: invalid conversion from 'char' to 'const char*' [-fpermissive]
   35 |                 else if ( strlen(H[h]) == 0) return 0;
      |                                  ~~~^
      |                                     |
      |                                     char
/usr/include/string.h:407:35: note:   initializing argument 1 of 'size_t strlen(const char*)'
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
a.cc: In function 'int insert(char*)':
a.cc:45:31: error: invalid conversion from 'char' to 'const char*' [-fpermissive]
   45 |                 if (strcmp(H[h],str)==0) return 1;
      |                            ~~~^
      |                               |
      |                               char
/usr/include/string.h:156:32: note:   initializing argument 1 of 'int strcmp(const char*, const char*)'
  156 | extern int strcmp (const char *__s1, const char *__s2)
      |                    ~~~~~~~~~~~~^~~~
a.cc:46:37: error: invalid conversion from 'char' to 'const char*' [-fpermissive]
   46 |                 else if ( strlen(H[h]) == 0) {
      |                                  ~~~^
      |                                     |
      |                                     char
/usr/include/string.h:407:35: note:   initializing argument 1 of 'size_t strlen(const char*)'
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
a.cc:47:29: error: invalid conversion from 'char' to 'char*' [-fpermissive]
   47 |                   strcpy(H[h],str);
      |                          ~~~^
      |                             |
      |                             char
/usr/include/string.h:141:39: note:   initializing argument 1 of 'char* strcpy(char*, const char*)'
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                      ~~~~~~~~~~~~~~~~~^~~~~~