Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 存储由空格分隔的字母矩阵_C++_Fstream - Fatal编程技术网

C++ 存储由空格分隔的字母矩阵

C++ 存储由空格分隔的字母矩阵,c++,fstream,C++,Fstream,我正在尝试创建一个可以自动解决单词搜索难题的程序 我在存储输入的单词搜索拼图时遇到问题。我提供的示例单词搜索文本文件包含两个空格分隔的字母。每个填充行之间都有一个空行 这是我现在掌握的代码。它似乎只存储和输出拼图中最左边的列。我做错了什么?有没有更干净的方法 vector< vector <string> > puzzle; ifstream myPuzzle ("puzzle.txt"); if (myPuzzle.is_open()) { while (myP

我正在尝试创建一个可以自动解决单词搜索难题的程序

我在存储输入的单词搜索拼图时遇到问题。我提供的示例单词搜索文本文件包含两个空格分隔的字母。每个填充行之间都有一个空行

这是我现在掌握的代码。它似乎只存储和输出拼图中最左边的列。我做错了什么?有没有更干净的方法

vector< vector <string> > puzzle;
ifstream myPuzzle ("puzzle.txt");
if (myPuzzle.is_open())
{
    while (myPuzzle)
    {
        string temp;
        if (!getline(myPuzzle, temp))
            break;

        istringstream ss(temp);
        vector <string> record;

        while (ss)
        {
            string temp2;
            if (!getline(ss, temp2, ' '))
                break;
            record.push_back(temp2);
        }

        puzzle.push_back(record);
    }
}
else
    cout << "Failed to open puzzle file!" << endl;

cout << "Puzzle succesfully inputted" << endl;

for (vector< vector<string> >::size_type i = 0; i < puzzle.size(); ++i)
{
    for (vector<string>::size_type it = 0; it < puzzle[i].size(); i++)
        cout << puzzle[i][it];
    cout << endl;
}

在这两个for循环中都使用i++。第二个应该使用它++

U  T  Y  Y  A  L  P  S  G  I  B  S  K  I  P  Q  H  S  K  T

A  T  L  T  I  R  U  N  E  Z  I  M  O  D  N  A  R  S  F  P

D  J  I  P  R  H  H  V  E  U  E  W  U  K  F  D  L  T  A  V

R  T  N  Q  N  O  E  Y  U  O  L  H  D  S  P  Q  C  A  F  H

A  A  E  U  O  O  S  A  J  F  B  O  I  Z  S  C  C  C  V  L

T  T  A  I  D  P  I  B  P  L  B  L  C  E  T  H  P  K  T  I

I  I  R  C  U  P  Q  S  A  W  U  B  T  Y  N  P  E  R  T  Y

C  S  T  K  U  M  S  C  R  O  B  I  I  K  N  I  L  L  H  R

D  E  N  B  N  A  K  I  R  U  O  N  O  H  L  I  Q  Y  L  A

F  L  A  M  I  Z  M  M  E  S  C  S  N  S  B  B  H  O  H  N

U  E  T  W  O  F  O  H  D  E  M  E  A  G  E  T  E  S  X  I

R  C  S  X  N  I  V  T  A  I  E  R  R  Z  Y  G  K  V  M  B

C  T  N  F  I  V  C  I  G  O  R  T  Y  X  E  H  X  G  W  D

D  I  O  T  W  D  Y  R  O  I  G  I  Z  L  V  L  P  V  Q  N

J  O  C  S  E  W  L  A  U  R  E  O  U  Q  W  O  S  A  T  I

I  N  O  I  U  M  F  G  B  D  L  N  C  C  Y  O  N  M  R  F

L  K  P  L  E  D  U  O  I  A  M  O  R  T  I  Z  E  J  B  G

M  S  Y  Y  U  R  V  L  Q  D  F  P  T  E  E  R  T  K  C  W