Please use code blocks when posting code; it makes code much easier to read.

Looking through it though, it seems mostly OK. What does the program not do that you want?

The only fault I could see with the code (without running it) is that you need to check that b,i,n,g,o don't exceed 4; once you've written to, for example, x[0][4], next time you get a number between 1 and 16 you should do nothing, otherwise you'll write to x[0][5] which will cause undefined behaviour.

CheckIfExist() seems fine though. Why do you think it might not apply to this program? If you're going to eliminate duplicates you're going to need a mechanism of some kind to do that.