The Gateway to Computer Science Excellence
0 votes
128 views

Input

You are given a template in which you need to implement a function whose signature is given below.

C
int findWordInAGrid(char grid[128][128], int m, int n, char word[32])
/* return 0 for false, 1 for true. */

C++
bool findWordInAGrid(char grid[128][128], int m, int n, char word[32])

Java
static boolean findWordInAGrid(char[][] grid, int m, int n, String word)

grid[][] represents the characters that are in the given grid. Only the first m rows and the first n columns should be considered relevant. word is the word whose occurance has to be found in the grid. Remember, word may start from any location in the grid. word will never contain more than 30 characters. Return true if word is found in the grid, false otherwise.

Output

The function should return true, if you can find the word in the grid and false otherwise.

Example

Let's consider the grid given below:

a b c
d e f
g h i

And set of words to be searched are:

abc
abedhi
efgh

Output:

The output of the above example should be:

abc: true
abedhi: true
efgh: false

Constraints

1 ≤ m,n ≤ 100
in Puzzles by (17 points) | 128 views

1 Answer

0 votes
int findWordInAGrid(char grid[128][128], int m, int n, char word[32]){
    char str[30];
    int c=0;
    for(int i=0; i<m; i++){
        for(int j=0; j<n; j++){
            if(grid[i][j]==word[c]){
                str[c]=grid[i][j];
                c++;
            }
        }
        if(strcmp(str,word)==0){
            return 1;
        }else{
            strcpy(str,"");
            c=0;
        }
    }
    return 0;
}
by Active (2.5k points)
Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,645 questions
56,543 answers
195,693 comments
101,539 users