- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试读取包含单词搜索字母的文本文件(如下)时遇到问题。我想以数组形式读取文本文件,然后能够将我的 dictionary.txt 中的单词与 wordsearch_grid.txt 匹配。有什么想法吗?
wordsearch_grid:
9
E M M A R G O R P
C L U A U N L L D
O T A O F I L O I
M E U N J G E O K
P W H K G G H P Q
I C O M P U T E R
L L V R Z B A O X
E H O M L E Q G U
T N I R P D C O E
dictionary:
COMPILE
COMPUTER
DEBUGGING
HELLO
KITCHEN
GRAPHICS
LOOP
SPAN
PROGRAMME
WORLD
我目前的代码如下:
#include "WordSearch.h"
#include "fstream"
#include <iostream>
#include <string>
#include "vector"
using namespace std;
vector<string> list;
vector<string> grid;
string line;
string n;
WordSearch::WordSearch(const char * const filename)
{
}
WordSearch::~WordSearch()
{
}
void WordSearch::ReadSimplePuzzle() {
ifstream inFile;
inFile.open("wordsearch_grid.txt");
if (inFile.fail())
{
cerr << "Error Wordsearch Grid File" << endl;
exit(1);
}
else
{
while (getline (inFile, n))
{
cout << n << endl;
}
//grid[4][3];
inFile.close();
//cout << grid << endl;
cout << "\n" << endl;
}
}
void WordSearch::ReadSimpleDictionary()
{
ifstream inFile;
inFile.open("dictionary.txt");
if (inFile.fail())
{
cerr << "Error Dictionary File" << endl;
exit(1);
}
else
{
int count = 0;
while (getline(inFile, line))
{
list.push_back(line);
cout << line << endl;
}
inFile.close();
}
}
void WordSearch::SolvePuzzleSimple()
{
}
到目前为止,它可以读取文件并显示它们,但我希望能够操纵网格,以便我可以匹配说“COMPILE”的第一个和最后一个字母,以匹配网格中的 2 个字母,并且输出到 output.txt “在 [1][2] 处找到了 COMPILE
最佳答案
这是内联逻辑,您可以根据自己的选择将其封装在类中:
#include <iostream>
#include <fstream>
#include <vector>
#include <ctime>
using namespace std;
ifstream inFile("wordsearch_grid.txt");
ifstream dict("dictionary.txt");
ofstream out("output.txt");
int main(){
string word;
char c;
char grid[9][9] = {};
int row = 0;
int column = 0;
vector<string> wordsFound;
clock_t start;
double duration;
vector<string> words;
vector<vector<int> > locations;
//store words from dictionary into vector
while (getline(dict, word))
{
words.push_back(word);
}
start = clock();
//store grid in a c-array
while (inFile.get(c))
{
if (c != ' ' && c != '\n')
{
grid[row][column] = c;
if (column == 8)
{
column = 0;
row++;
}else
{
column++;
}
}
}
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
cout << grid[i][j] << " ";
}
cout << endl;
}
duration = (clock() - start ) / (double) CLOCKS_PER_SEC;
cout << "Time it took to populate grid (seconds) : " << duration << endl;
start = clock();
//for each character in grid
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
//cout << grid[i][j] << " ";
//for each word
for (int k = 0; k < words.size(); k++)
{
//check if grid letter equals the first letter of word
if (grid[i][j] == words[k][0])
{
//check horizontal vertical and diagonal
for (int l = 1; l <= words[k].size(); l++)
{
if (
//break if no word was found
grid[i-l][j] != words[k][l] &&
grid[i+l][j] != words[k][l] &&
grid[i][j+l] != words[k][l] &&
grid[i][j-l] != words[k][l] &&
grid[i+l][j+l] != words[k][l] &&
grid[i-l][j-l] != words[k][l] &&
grid[i+l][j-l] != words[k][l] &&
grid[i-l][j+l] != words[k][l] )
{
break;
}
else if (l == words[k].size()-1)
{
//else write word found to file
//out << words[k] << " was found at [" <<
//j+1 << "][" << i+1 << "]" << endl;
//add word location to locations
vector<int> location;
location.push_back(j+1);
location.push_back(i+1);
locations.push_back(location);
//add word to wordsFound
wordsFound.push_back(words[k]);
}
}
}
}
}
//cout << endl;
}
duration = (clock() - start ) / (double) CLOCKS_PER_SEC;
cout << "Time it took to finish wordsearch puzzle (seconds) : " << duration << endl;
out << "number of words found: " << wordsFound.size() << endl;
for (int i = 0; i < wordsFound.size(); i++){
out << wordsFound[i] << " was found at [" << locations[i][0] << "][" << locations[i][1] << "]" << endl;
}
out << "number of words not found: " << words.size() - wordsFound.size() << endl;
for (int i = 0; i < words.size(); i++) {
for (int j = 0; j < wordsFound.size(); j++) {
//loop to check if word in dictionary wasn't found and append to output.txt
if (words[i] == wordsFound[j]){
break;
}
else if (j == wordsFound.size()-1){
out << words[i] << " was not found!" << endl;
}
}
}
return 0;
}
关于C++ Wordsearch 拼图网格二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013087/
我在某处遇到了以下难题 #include int main() { { /*Fill in something here to make this code compile
我正在尝试为 iOS 创建一个拼图游戏应用程序。从我在互联网上的搜索来看,确实没有任何关于这个主题的教程。有谁知道任何人都知道的好教程或游戏教程的链接?谢谢。顺便说一下,iOS4 将不胜感激。 最佳答
如果必须使用 Promises,您会如何编写以下代码? 这个想法是,“私有(private)”方法 p1 调用一个执行异步操作的函数,然后,当异步调用的结果准备就绪时,控制权将传递给“私有(priva
下面是其中一个 facebook 谜题:我无法理解如何进行此操作。 你有 C 个容器、B 个黑球和无限数量的白球。您希望以一种方式在容器之间分配球,即每个容器至少包含一个球,并且选择白球的概率大于或等
有 5 位成员围坐在一张 table 旁。关键值是坐在 table 周围的成员数量。所以现在关键值将是 5。一个恐怖分子告诉成员,因为你们是 5 个成员,所以我将从第一个成员开始数,数到 5 的人将被
你能在不抛出错误的情况下解决这个问题吗?答案是单线。这是来自一个死的职位发布,在回复中要求回答。我认为这是剔除受访者的聪明方法,但我似乎无法在不出错的情况下回答它。 显而易见的解决方案: f.moo(
此源输出 G'Day Mate. 这是怎么发生的? public static void main(String args[]) { System.out.println("Hello Wor
我正在 android 中开发一个 slider 拼图,它有一个图像被分解成小图像,我们需要对这些 fragment 进行排序以形成正确的图像。我使用了一个 3x3 的 GridView ,其中包含
我遇到了以下难题,无法在 Picat 中制定解决方案: You will generate 5-digit numbers, where each digit is in 1..5 and diffe
我是 Javascript 新手,并且正在努力解决 CodeWars 中的这个难题。 约翰想用壁纸装饰房间。房间的尺寸为:宽度(w)、高度(h)、长度(l)。一卷壁纸的尺寸为 52cm 宽,10m 长
我对 Java 还很陌生,尝试过 Best Before puzzle from Spotify昨天。当我发送它时,我收到“错误答案”错误。检查其他解决方案没有帮助,我无法弄清楚哪个输入给出了错误的答
我正在尝试恢复我拥有的一些旧代码,这是一个拼图游戏。它从文件夹中加载图像(拼图),将它们随机放置在页面周围,然后拖放到板上。这曾经有效,但当我今天尝试使用它时,它只是抛出错误(见下文)。 HTML:
这对你们来说可能是个愚蠢的问题。它是关于 CSS Sprites 的。我有一个包含 4 个菜单的导航,例如 .. HOME COMPANY SERVICES SUPPORT 尽管我使用了一个 css
我需要创建一个标题,可以根据正在构建的页面轻松添加或删除部分,但我在处理其中一部分时遇到了问题。 我有一个标题,看起来像这样将所有组件放在 如果导航被移除,它应该看起来像这样(垂直居中) 我的问题是如
我在 JS 中构建了一个 15 拼图,但我的随机拼图生成正在创建无法解决的拼图实例。这可能是因为我不是计算机科学专业的负责人,但我不确定如何计算代码排列中的反转次数。我想知道如何编写我的代码,以便我可
我正在寻找 8 Puzzle graphs tree generator,最好是 (php+) html+css+javascript。我需要的是类似 3 2 1 6 8 7 5 4 会生成所有可
我住在德国,在 Android Market 上发布“Last Call Widget”。随着时间的推移,我一直在稳步改进它,但一组用户仍然提示它无法在他们的设备上运行。 我的小部件监听“androi
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在尝试制作一个看起来像这样的拼图游戏。我试过的看起来像这样。 https://jsfiddle.net/uccfb46z/ 现在如果我想改变碎片的形状我需要修改这部分 - outside: fu
首先,让我为缺少 SSCCE 表示歉意。我在这方面真的没有足够的专业知识来弄清楚什么是相关的,什么不是。 简而言之,问题是在两台运行相同分辨率 (1366x768) 的不同计算机上,我女朋友的 tum
我是一名优秀的程序员,十分优秀!