Я пишу простую программу на C ++ 17, которая сравнивает два вектора целых чисел.
например, у меня есть два вектора: a
представляет число -1, b
25
std::vector<int> a = {-1};
std::vector<int> b = {2, 5};
if(a < b) std::cout << "a < b" << std::endl;
else if(a > b) std::cout << "a > b" << std::endl;
else std::cout << "a = b" << std::endl;
Вывод, созданный предыдущим фрагментом кода, a < b
, и это правильно.
Рассмотрим теперь следующий пример:
std::vector<int> a = {-1, 9};
std::vector<int> b = {-1, 9, 9};
if(a < b) std::cout << "a < b" << std::endl;
else if(a > b) std::cout << "a > b" << std::endl;
else std::cout << "a = b" << std::endl;
Здесь также выводится a < b
, но, так как -19> -199, я бы хотел, чтобы оно было a > b
.
Есть способ решить это? Например, я думал о преобразовании двух векторов в целые числа и их сравнении, но я не могу понять, как это сделать.