Я работаю над программой, работающей с деревьями двоичного поиска. У меня есть простой текстовый файл, который выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$
5 4 3 5 7 13
$
11 6 7 2 12 6
Первая строка содержит целые числа для вставки в дерево, третья строка - целые числа для поиска, а пятая строка - целые числа для удаления,Вторая и четвертая строки предназначены для обозначения разделения других линий. Они содержат один символ «$». Я борюсь с тем, как игнорировать вторую и четвертую строчки. У меня есть три цикла while, разделенных двумя операторами игнорирования. После тестирования кажется, что второй и третий циклы while никогда не вводятся. Буду признателен за любую помощь - мой код ниже.
#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
#include "main.h"
int main(int argc, char *argv[])
{
string filename = "";
ifstream inFile;
filename = argv[1];
inFile.open(filename.c_str());
BST b;
int num;
while(inFile >> num)
{
b.insert(num);
cout << num << endl; //output testing - the first line was successfully output so I think this part is fine
}
inFile.ignore(500, '$');
while(inFile >> num) //this while loop is never entered
{
b.search(num);
}
inFile.ignore(500, '\n');
while(inFile >> num) //this while loop is never entered
{
b.remove(num);
}
inFile.close();
}