[DOMANDA] media, somma, somma numeri pari e dispari

Discussione in 'Programmazione' iniziata da MPG, 13 Gennaio 2018.

  1. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    Dunque dato un numero n (ho messo 5 ad esempio io) trovare la media, la somma , e la somma dei numeri dispari e pari. Non mi viene la somma dei pari e dispari, cosa sbaglio? Magari anche il tutto si puo' semplificare.....
    Grazie a tutti di nuovo e a questo bellissimo e istruttivo forum.

    Codice (Text):

    #include <iostream>
    using namespace std;

    int main() {
      int a,b,c,d,e,x,y,pari,dispari;
      cout << "Inserisci il primo numero: ";
      cin >> a;
      cout << "Inserisci il secondo numero: ";
      cin >> b;
      cout << "Inserisci il terzo numero: ";
      cin >> c;
      cout << "Inserisci il quarto numero: ";
      cin >> d;
      cout << "Inserisci il quinto numero: ";
      cin >> e;
      x= a+b+c+d+e;
      y= x/5;
      if (a%2==0) {
        pari=pari+a;
      }
      else {
        dispari=dispari+a;
      }
      if (b%2==0) {
        pari=pari+b;
      }
      else {
        dispari=dispari+b;
      }
      if (c%2==0) {
        pari=pari+c;
      }
      else {
        dispari=dispari+c;
      }
      if (d%2==0) {
        pari=pari+d;
      }
      else {
        dispari=dispari+d;
      }
      if (e%2==0) {
        pari=pari+e;
      }
      else {
        dispari=dispari+e;
      }
      cout << "\nLa somma dei 5 numeri e': ";
      cout << x;
      cout << "\nLa media dei 5 numeri e' : ";
      cout << y;
      cout << "\nLa somma dei numeri dispari fra i 5 numeri e': ";
      cout << dispari;
      cout << "\nLa somma dei numeri pari fra i 5 numeri e': ";
      cout << pari;
    }
     
     
  2. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    Pensavo di scrivere qualcosa cosi' cercando di capire il for (che pero' il prof non ha ancora insegnato) magari anche solo per creare un programmino per stampare la somma dei numeri dispari e numeri pari ma non mi viene cosi:
    Codice (Text):

     
    #include <iostream>

    using namespace std;

    int main()
    {
       int MaxNumero = 0;
    int SommaPari=0;
    int SommaDispari=0;
    int numero;

    cin >>numero;
    while (MaxNumero<=5)
    //for(numero=1; numero<=MaxNumero; numero++)
    {
            cin>>numero;
            if(numero%2==0)
    {SommaPari+=numero;
    MaxNumero++;
    }
    else (numero%2!=0);
    {SommaDispari+=numero;
    MaxNumero++;
    }
    cout<<"la somma dei dispari e':  " <<SommaPari;
    cout<<"la somma dei pari e':  "<<SommaDispari;
     
     
    #2 MPG, 13 Gennaio 2018
    Ultima modifica: 13 Gennaio 2018
  3. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    Trovato la somma pari e dispari
    Codice (Text):

    #include <iostream>

    using namespace std;

    int main()
    {
       int MaxNumero = 0;
    int SommaPari=0;
    int SommaDispari=0;
    int numero;


    while (MaxNumero<5)
    //for(numero=1; numero<=MaxNumero; numero++)
    {
            cin>>numero;
            if(numero%2==0)
    {SommaPari+=numero;
    MaxNumero++;
    }
    else
    {SommaDispari+=numero;
    MaxNumero++;
    }
    cout<<"la somma dei pari e':  " <<SommaPari<<endl;
    cout<<"la somma dei dispari e':  "<<SommaDispari<<endl;
    }
    }
     
     
  4. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    Chi la dura la vince......

    Codice (Text):

    #include <iostream>
    using namespace std;

    int main() {
     
      int numero;
      int SommaPari=0;
    int SommaDispari=0;
    int MaxNumero=0;

    while (MaxNumero<5)

    {
            cout<<"Inserisci il numero:   ";
            cin>>numero;
            if(numero%2==0)
    {SommaPari+=numero;
    MaxNumero++;
    }
    else
    {SommaDispari+=numero;
    MaxNumero++;
    }
      }

      cout << "\nLa somma dei 5 numeri e': ";
      cout << SommaPari+SommaDispari;
      cout << "\nLa media dei 5 numeri e' : ";
      cout << (SommaPari+SommaDispari)/MaxNumero;
      cout << "\nLa somma dei numeri dispari fra i 5 numeri e':  ";
      cout << SommaDispari;
      cout << "\nLa somma dei numeri pari fra i 5 numeri e': ";
      cout << SommaPari;
    }
     
     
  5. 1nd33d

    • Utente Binario

    Dal:
    14 Febbraio 2011
    Messaggi:
    564
    Mi Piace Ricevuti:
    182
    Specifiche Hardware
    Il numero di valori che leggi lo sai già a inizio del ciclo di lettura, per cui quella variabile "MaxNumero" usata in quel modo non dice molto.
    Se metti MaxNumero = 5 e poi iteri con un for su un contatore< MaxNumero ottieni un codice più pulito, e puoi parametrizzare il programma così come anche le stringhe di output.
    Codice (Text):

    int main() {
        int numero;
        int SommaPari=0;
        int SommaDispari=0;
        int MaxNumero=5;

        for (int i = 0; i<MaxNumero; i++){
            cout<<"Inserisci il numero:   ";
            cin>>numero;
            if(numero%2==0)
                SommaPari+=numero;
            else
                SommaDispari+=numero;
        }

      cout << "\nLa somma dei "<<MaxNumero<<" numeri e': ";
      cout << SommaPari+SommaDispari;
      cout << "\nLa media dei "<<MaxNumero<<" numeri e' : ";
      cout << (SommaPari+SommaDispari)/MaxNumero;
      cout << "\nLa somma dei numeri dispari fra i "<<MaxNumero<<" numeri e':  ";
      cout << SommaDispari;
      cout << "\nLa somma dei numeri pari fra i "<<MaxNumero<<" numeri e': ";
      cout << SommaPari;
    }
     
     
  6. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    La funzione for come detto il prof non l'ha ancora spiegata , ti ringrazio della puntualizzazione serve serve imparare.
     
  7. pabloski

    • Utente Binario

    Dal:
    30 Marzo 2007
    Messaggi:
    1.431
    Mi Piace Ricevuti:
    185
    Specifiche Hardware
    Occhio che for, while, if, ecc... sono costrutti del linguaggio ( statements in inglese ) e non funzioni.

    Ovviamente è una differenza fondamentalmente teorica ( e ci sono linguaggi in cui sono effettivamente funzioni o addirittura sono implementati come macro ) ma è importante quando si parla di C/C++ e altri linguaggi imperativi.
     
    A Andretti60 piace questo elemento.
  8. Andretti60

    • Utente Binario

    Dal:
    1 Febbraio 2011
    Messaggi:
    2.052
    Mi Piace Ricevuti:
    1.504
    Specifiche Hardware
    Nel tuo codice originale Hai commesso un errore molto comune, ossia hai utilizzato una variabile senza inizializzarla, nel tuo caso le variabili pari e dispari.
    Attento alle istruzioni tipo

    pari=pari+a

    Funziona solo se la variabile pari è zero. Ci sono opzioni del compilatore che avvisano errori di questo tipo. Quando sommi qualcosa a una variabile, ricorda sempre di inizializzarla a zero (come hai fatto quando hai usato il ciclo). Questo vale per le variabili automatiche, ossia quelle dichiarate all'interno di una funzione (ma non voglio confonderti maggiormente le idee).
     
    A fabio93 e AITUS95 piace questo messaggio.
  9. MPG

    MPG
    • Utente Binario

    Dal:
    22 Aprile 2013
    Messaggi:
    98
    Mi Piace Ricevuti:
    1
    Specifiche Hardware
    Scusa nn ho bene capito , non ho una variabile pari o dispari.....
     
  10. Andretti60

    • Utente Binario

    Dal:
    1 Febbraio 2011
    Messaggi:
    2.052
    Mi Piace Ricevuti:
    1.504
    Specifiche Hardware
    Codice (Text):

    int a,b,c,d,e,x,y,pari,dispari;
     
     

Condividi questa Pagina