Create a 2d array puzzle that will find the following words; this, two,fat,that.
/word puzzle with 3 rows and 3 columns
#include
#include
using namespace std;
#define R 3
#define C 3
string puzzle []={};
int c = sizeof(puzzle)/sizeof(puzzle[0]);
bool isword(string & string)
{
for (inti=0; i if (string.compare(puzzle[i])== 0)
return true;
return false;
}
void findwordUtil(char puzzle[R][C], bool visited [R][C], inti, int j, string & string)
visited[i][j] = true
string = string + puzzle[i][j];
if (isWord(string))
cout<< string< for (int row=i-1; row<=i&& row for (int collate=j-1 && row if (row>=0 && collate>=0 && ! visited[row][collate])
findWordsUtil(puzzle, visited, row, collate, string);
string.erase(string.length()-1);
visited[i][j]=false;
}
void findWords(char puzzle[R][C] = {{false}};
string string = "";
for (int j=0; jfindWordsUtil(puzzle, visited, i.j. string);{{t,y,i,s}}
{{w,a,t,s}}
{{o,a,h,g}}
{{f,g,d,t}}
cout<< "words in the puzzle\n";
findWords(puzzle);
return 0;
}