Я пытаюсь сравнить блоки из трех чисел друг с другом, чтобы создать новый выходной файл только с теми, которые соответствуют этому: первый ди git блока меньше второго и меньше третьего, второй di git в блоке должно быть больше первого, но меньше третьего.
Это мой код для входного файла:
int main()
{
ofstream outfile ("test.txt");
outfile << "123 456 789 123 123 432 \n 123 243 " << endl;
Я хочу разбить это на блоки из трех, такие как «123», «456» и т. д., чтобы иметь возможность записывать только те, которые соответствуют требованию, в новый выходной файл. Я решил преобразовать весь файл в целочисленный вектор, чтобы иметь возможность сравнивать их.
char digit;
ifstream file("test.txt");
vector<int> digits;
while(file >> digit) {
digits.push_back(digit - '0');
}
, и я полагаю, что метод, который сравнивает их, будет выглядеть примерно так:
bool IsValid(vector<int> digits){
for(int i=0; i<digits.size(); i++){
if(digits[0] < digits[1] & digits[0] < digits[2] & digits[1]<digits[2])
return true;
else{
return false;
}
}
}
Однако это будет просто сравнить первый блок, вы бы сделали по-другому? или я должен продолжать делать векторную идею