L'esercizio mi chiede di fare un programma che letto un numero da tastiera devo poi stampare la sequenza fino all'uno a ritroso, fare la media, dare massimo e minimo... mi viene tutto ma quando stampa la somma il valore esce sbagliato e di conseguenza anche la media... credo sia un problema concettuale, ma non riesco a capire di che genere
#include <iostream>
using namespace std;
int main() 
{
    cout << " Inserisci un numero naturale : \n";
    int num;
    cin >> num;
    int i = num -1;
    int sum = num;
    if( num > 0)
    { 
        cout << num << endl;
        while(i>0)
    {
        cout << i << endl;
        i--;
        sum += i;
       
    }
    }
    else if(num == 0)
      cout << "Inserimento terminato\n";
    else
     cout << " Numero negativo!\n";
     double media = sum/num;
    cout << " La somma vale : " << sum << endl;
    cout << " La media vale : " << media << endl;
    cout << " Valore massimo : " << num << endl;
    cout << " Valore minimo : " << 1 << endl;
    return 0;
}