Алгоритм должен из двумерного вектора найти минимальные значения и сложить их в переменной 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 значений там тоже быть не может.