The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
0 votes
55 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

 

 

asked in Puzzles by (21 points) | 55 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;
}
answered by Junior (781 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

29,100 questions
36,904 answers
91,826 comments
34,770 users