Неадекватно большое значение?

Алгоритм должен из двумерного вектора найти минимальные значения и сложить их в переменной cost , до выполнения условия,но в ответе получается -15166 , хотя отрицательных чисел там быть не может никак . Не знаю куда копать уже..
short cost = 0 ,mass=0;


    short min=10000, min_x, min_y;
    for (; true;) { //поиск минимальных значений 
        for (int i = 0; i < x; i++) {
            for (int k = 0; k < y; k++) {
                if (field_price[i][k] < min && field_price[i][k] != 0) {
                        min = field_price[i][k];
                        min_x = i;
                        min_y = k;
                }
            }
        }
        mass += field_mass[min_x][min_y];
        field_price[min_x][min_y] = 10000;
        if (mass > size) {
            cout << cost;
            return 1;
        }
        cost += min;
        min = 100000;
        
    }

большое значение в ячейки записываю ,чтобы они не определялись в следующий раз как минимальные ,а больше 1000 значений там тоже быть не может.
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
У вас переполнение. Смотрите
пределы типов
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы