Write a C++ program that creates a word-search puzzle game where the user should find the hidden
words in a square array of letters. Your program should first read from the user their choice for the
game: a) easy, b) medium, c) hard, d) exit the game. If the user selects easy, then the 6x6 puzzle,
shown in Figure 1, will be generated and displayed to the user. If the user selects medium, then the
14 x 14 puzzle shown in Figure 2 should be generated and displayed and lastly, if the user selects
the hard choice, the program should generate a random puzzle, filling the square array of 20 x 20
using random characters/words.
Then your program should repeatedly read from the user, a word to be searched for in the puzzle,
the row and column number where the word starts from and which orientation to search for. The
words can be searched vertically (top to bottom), horizontally (left to right), diagonally (upper left
to lower right) and diagonally (upper right to lower left). The program should check if the column
and row number given by the user are inside the puzzle (array) boundaries, otherwise should display
an error message and ask the user to enter another position. For each word the user inputs, the
2
program should display whether the word was found or not. The program should stop reading
words when the user will press “X” and then the total number of found words will be displayed to
the user.
The program should repeatedly display the game menu until the user will select to exit the game