Поиск слова с использованием векторов в C ++ - PullRequest
0 голосов
/ 26 февраля 2019

Я хотел бы получить помощь о том, как я могу выполнить проект, который мне был назначен, в котором печатается матрица букв, а определяемые пользователем слова располагаются во всех направлениях сетки и окрашиваются в красный цвет с использованием colormod.h и файлов матрицы.он обеспечивает нас.Например, при выполнении «a.exe hard project <0505matrix» будут распечатаны назначенные входы матрицы со словами «hard» и «project» в красном тексте, где бы они ни находились.В настоящее время я расширяю свой предыдущий проект (показанный ниже), в котором было найдено одно слово с определенными координатами для поиска, при этом возвращается «true» или «false», и я считаю, что моим первым шагом будет использование вложенных циклов for каким-либо образомразрешить поиск слова без заданных координат.Будем очень благодарны любой помощи!Спасибо </p>

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

bool search(vector< vector<char> > &matr, char *word, int x, int y){

bool answer = false;
if(strlen(word)  > (matr.size()-y)){
    return false;   
}
else{
    for(int i = 0; i < strlen(word); i++){
        if(word[i] == matr[x][y + i])
    answer = true;
        else
    answer = false;
        break;
    }
}
return answer;
}


int main(int argc, char *argv[]){
  int x, y;
  string word;

  cin >> x;
  cin >> y;

  vector< vector<char> > matr;
  matr.resize(x);
  for(int i = 0; i < matr.size(); i++){
    matr[i].resize(y);
  }


   for (int i = 0; i < x; i++) {
      for (int j = 0; j<y ; j++){
    cin >> matr[i][j];
    }
    }
  for(int i = 0; i < x; i++) {
      for(int j = 0; j < y; j++){
    cout <<  matr[i][j] << " ";
    }
      cout << endl;
    }

    cin >> word;

    cout << word;




  bool check = search(matr, argv[1], atoi(argv[2]), atoi(argv[3]));

  if(check){
      cout << "true" << endl;
  }
  else{
      cout << "false" << endl;
  }

}
...