Is -2 & gt; 10 сравнивая целые числа

Я пишу небольшую программу для определения самых больших и самых маленьких чисел, считываемых из файла. Он отлично работает со всеми натуральными числами. Однако, когда дело доходит до отрицательных целых чисел, вещи кажутся сломанными.

int get_largest(std::ifstream& fin)
{
int largest, container;
fin>>container;

largest = container;

while (fin>>container)
{
if (container>largest)
{
//bool check = (container>largest);
largest = container;
}
}

return largest;
}

Вот основная функция

#include <iostream>
#include <fstream>

int get_largest(std::ifstream& fin);

int main( int argc, const char * argv[])
{
using namespace std;
ifstream fin("numbers.dat");

int smallest_value = get_smallest(fin);
int largest_value = get_largest(fin);

cout<<"The smallest value is "<<smallest_value<<endl;
cout<<"The largest value is "<<largest_value<<endl;return 0;
}

Я передаю список номеров в ifstream, как это

 1
2
4
10
-2

Выходные данные говорят, что наибольшее число -2 вместо 10. Я попытался использовать целые числа со знаком, но это не помогает.

Спасибо за ваше время!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]