У меня есть входной файл, который состоит из нескольких целых чисел, разделенных пробелами или символами новой строки.
EX:
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
…. и так далее.
Мне нужно решить, сколько разных наборов ввода у меня на основе этого входного файла. Я не могу этого сделать. Какие-нибудь советы?
Читайте файл построчно. После каждого чтения проверяйте следующий символ в потоке. Если это '\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);
}
Других решений пока нет …