Esercizio

di il
8 risposte

Esercizio

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;

}

8 Risposte

  • Re: Esercizio

    Niente ho risolto ho invertito le due righe all'interno del ciclo while... a chi servisse
  • Re: Esercizio

    Ovviamente se decremento prima di fare la somma è ovvio che perde poi il risultato finale
  • Re: Esercizio

    La somma va inizializzato a 0.

    PS: Non mettere i nomi dei professori.
  • Re: Esercizio

    PPS: sorry, errore mio. Pensavo che i partisse da num.
  • Re: Esercizio

    Ma chi è il tizio del titolo? E cosa ci interessa?
  • Re: Esercizio

    Infatti l'ho cancellato
  • Re: Esercizio

    tipa98 ha scritto:


    Niente ho risolto ho invertito le due righe all'interno del ciclo while... a chi servisse
    Se metti un numero pari ti serve anche questo
    
    double media = (double)(sum)/num;
    
  • Re: Esercizio

    Scusatemi ...
Devi accedere o registrarti per scrivere nel forum
8 risposte