Esercizio sui numeri interi

di il
4 risposte

Esercizio sui numeri interi

Ciao ragazzi ho i lseguente esercizio che non riesco a risolvere nella parte finale:

Scrivete un programma che chiede all'utente di di digitare tre numeri interi, e ne visualizza la somma, la media e il prodotto, il numero più piccolo e il più grande.

Tenete conto che è un esercizio del 2° capito di Fondamenti di programmazione - Deitel e l'unica funziona introdotta finora è l'IF

io non riesco a implementare la parte del numero più piccolo e del più grande, questo è il mio codice:
//prova.cpp
//Somma, prodotto e media di tre numeri interi

#include <iostream>
using std::cout;
using std::cin;
using std::endl;


int main ()

{
int numero1;
int numero2;
int numero3;


cout << "Inserire tre numeri interi: ";
cin >> numero1 >> numero2 >> numero3;


cout << "La somma e': " <<numero1+numero2+numero3;
cout << "\nLa media e': " <<numero1+numero2+numero3/3;
cout << "\nIl prodotto e': " << numero1*numero2*numero3;

return 0;
}

chiaro che se scrivo:

if (numero1<numero2)
cout << "\nIl numero piu' grande e' :" << numero2
etc etc va bene finchè si tratta di 2 numeri, ma quando ho un insieme di 3 o più numero il codice corretto qual è, nel libro non c'è la soluzione purtroppo.

Grazie a tutti,
Riccardo

4 Risposte

  • Re: Esercizio sui numeri interi

    if n1>n2
    {
    if n1>n3
    cout<<il n + grande è<<n1
    else
    cout<<il n + grande è<<n2
    }
    else
    {
    if n2>n3
    cout<<il n + grande è<<n2
    else
    cout<<il n + grande è<<n2
    }
    dovrebbe essere così...
  • Re: Esercizio sui numeri interi

    riccardo74 ha scritto:


    ... ma quando ho un insieme di 3 o più numero il codice corretto qual è...
    Devi usare altre variabili per rendere il programma parametrico.
    Questa che ti propongo è una soluzione:
    
    #include <iostream>
    
    #define MAX 5
    int main ()
    
    {
      
      int i,somma,prodotto,media,min,max;
      int numeri[MAX];
      
      std::cout << "Inserire "<<MAX<<" numeri interi: ";
      
      somma=media=min=max=0;
      prodotto=1;
      for (i=0;i<MAX;i++)
      {
        
        std::cin >> numeri[i];
        
        somma+=numeri[i];
        prodotto*=numeri[i];
        if (!max || numeri[i]>max)
          max=numeri[i];
        if (!min || numeri[i]<min)
          min=numeri[i];
      }
      media=somma/MAX;
    
      std::cout << "La somma e': " <<somma;
      std::cout << "\nLa media e': " <<media;
      std::cout << "\nIl prodotto e': " << prodotto;
      std::cout << "\nIl numero piu' grande  e' : " << max;
      std::cout << "\nIl numero piu' piccolo e' : " << min;
    
      return 0;
    }
    
    
    Saluti,
    Max
  • Re: Esercizio sui numeri interi

    Grazie Max per la soluzione ma tu utilizzi clicli FOR ed altre istruzioni che io non ho ancora studiato e che nell'esercizio NON vengono richieste, si dice solo infatti di usare quello che finora si è imparato. Il tuo mi pare un codice molto avanzato.
  • Re: Esercizio sui numeri interi

    ... e l'unica funziona introdotta finora è l'IF
    Ops... pardon una svista...in tal caso @asd è stato eloquente.


    Saluti e scuse,
    Max
Devi accedere o registrarti per scrivere nel forum
4 risposte