Разница в выводе двух похожих кодов C++ с вложенными циклами и преобразованиемC++

Программы на C++. Форум разработчиков
Anonymous
Разница в выводе двух похожих кодов C++ с вложенными циклами и преобразованием

Сообщение Anonymous »

У меня возникла странная проблема с двумя похожими фрагментами кода C++, которые должны выполнять одну и ту же задачу, но дают разные результаты.
Проблема связана с оператором внутреннего цикла.
При реализации решения я столкнулся с этой проблемой: -
int n;
cin >> n;
vector arr(n);
REP(i, 0, n){
cin >> arr;
}

vector dup = arr;
int maxVal = INT_MIN;
REP(i, 0, n){
if (arr > maxVal){
maxVal = arr;
}
if (arr < maxVal){
arr = maxVal;
}
}

REP(i, 0, n){
dup = arr - dup;
}

int ans = 0;
sort(dup.begin(), dup.end());

REP(i, 0, n){
if (dup != 0){
ans += (n - i + 1) * dup;

//This inner loop

for(int j = i; j < n; j++){
dup[j] -= dup[i];
}
}
}
cout

Подробнее здесь: https://stackoverflow.com/questions/787 ... nd-transfo

Вернуться в «C++»