Не совпадает результат - С++

332
24 апреля 2017, 04:51

Код:

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
bool is_it_max(int* arr, int a,int size){
    int i = 0,buf = a;
    while(i < size){
        if(a < arr[i] ){
            a = arr[i];
        }
        i++;
    }
    if(buf == a){
        return true;
    } else return false;
}
int main() {
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    int n = 0;
    int v = 1, sum = 0;
    cin>>n;
    int i =0;
    int* arr = new int[n];
    while(i < n){
        cin >> arr[i];
        i++;
    }
    cout << sum;
    for(int j = 0; j < n;j++){
        if(is_it_max(arr,arr[j],n)){
            sum+=(arr[j]*v);
            v-=v;
            arr[j] = 0;
        } else arr[j] = 0;
        v++;
    }
    cout << sum << endl;
    delete[] arr;
}

Входные данные:

5

73 31 96 24 46

Желаемый результат - 380 но у меня выводит 0380 , как избавиться от этого нуля перед числом, пытался взять остаток от деления этого числа на 1000, выводит то же самое

решаю задачу по этой ссылке.

Answer 1

Ну уберите первый вывод

 cout << sum;

в тот момент, когда sum равно 0, в чем проблемы?...

READ ALSO
Неправильный вывод программы в С++

Неправильный вывод программы в С++

Есть функция, написанная на С++, которая должна раскладывать числа от 1 до N на простые составляющие - то есть, например, 2 - 2, 3 - 3, 4 - 2 и 2, и так...

286
Структуры в файле с++

Структуры в файле с++

Создаю структуруВвожу данный

317
Блокировка с двойной проверкой

Блокировка с двойной проверкой

В книге Энтони Уильямса "Параллельное программирование на C++ в действии" рекомендуется заменять использование упомянутого в заголовке паттерна...

325
контейнер map c++

контейнер map c++

Как использовать контейнер map, для хранения счетчиков?

263