2

空白または改行文字で区切られた複数の整数で構成される入力ファイルがあります。元:

7\n
2 2\n
3 4\n
\n
8\n
3 1\n
5 6\n
7 7\n
\n
3\n
1 2\n
3 4\n

.... 等々。

この入力ファイルに基づいて、いくつの異なる入力セットがあるかを判断する必要があります。私はこれを行うことができません。任意のヒント?

4

1 に答える 1

5

ファイルを 1 行ずつ読み取ります。読み取るたびに、ストリーム内の次の文字が何であるかを確認します。'\n'(または EOF) の場合は、入力セットの最後にいます。

std::string line;
std::ifstream stream;
size_t sets = 0;

while (std::getline(stream, line)) {

    // do something with line

    int next = stream.get()
    if (next == '\n' || next == EOF)
        ++sets;
    else
        stream.putback(next);
}
于 2012-09-30T08:34:47.523 に答える