Creare Videogiochi - Game Developer
Programma per trovare la media fra 10 numeri - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Programmazione (https://www.making-videogames.net/giochi/Forum-Programmazione)
+--- Forum: Programmazione in C C++ e C# (https://www.making-videogames.net/giochi/Forum-Programmazione-in-C-C-e-C)
+--- Discussione: Programma per trovare la media fra 10 numeri (/thread-Programma-per-trovare-la-media-fra-10-numeri)



Programma per trovare la media fra 10 numeri - danieleplay - 08-05-2011

Eccovi un codice che vi permetterà di trovare la media fra 10 numeri:
Codice:
#include <iostream>   //file principale

using namespace std;   //namespace principale

int main(void)        //funzione main(principale)
{                     //apre main
    double dnumber1 = 0.0;     //1o numero della media
    double dnumber2 = 0.0;    //2o numero della media
    double dnumber3 = 0.0;    //3o numero della media
    double dnumber4 = 0.0;    //4o numero della media
    double dnumber5 = 0.0;    //5o numero della media
    double dnumber6 = 0.0;    //6o numero della media
    double dnumber7 = 0.0;    //7o numero della media
    double dnumber8 = 0.0;    //8o numero della media
    double dnumber9 = 0.0;    //9o numero della media
    [color]double dnumber10 = 0.0; [/color]  //10o numero della media
    double daverage = 0.0;    //media
    
    cout<<"Program by Danieleplay"<<endl;
    cout<<"Inserire qui i [color]10[/color] numeri: "<<endl;    //testo MS-DOS
    cin>>dnumber1;        //inserire numero
    cin>>dnumber2;        //inserire numero
    cin>>dnumber3;        //inserire numero
    cin>>dnumber4;        //inserire numero
    cin>>dnumber5;        //inserire numero
    cin>>dnumber6;        //inserire numero
    cin>>dnumber7;        //inserire numero
    cin>>dnumber8;        //inserire numero
    cin>>dnumber9;        //inserire numero
   [color=#FF0000] cin>>dnumber10;       //inserire numero[/color]  // togliete o aggiungete codice    
    daverage = (dnumber1 + dnumber2 + dnumber3 + dnumber4 + dnumber5 + dnumber6 + dnumber7 + dnumber8 + dnumber9+ [color]dnumber10[/color]) / [color]10[/color];   //media=somma numeri diviso 10
        
    cout<<"La media dei numeri e\': "<<daverage<<endl<<endl;    //testo MS-DOS
    
    system("pause");     //fine sistema
    return 0;            //ritorno al Desktop con un tasto
}                        //chiude main

Se volete fare la media fra + o - numeri dovete modificare le "parole" in rosso.


RE: Programma per trovare la media fra 10 numeri - steve - 08-05-2011

Un po' poco automatizzato, ma per iniziare è un bel programmino.


RE: Programma per trovare la media fra 10 numeri - danieleplay - 08-05-2011

che significa "poco automatizzato"?


RE: Programma per trovare la media fra 10 numeri - steve - 08-05-2011

Hai creato una variabile per ogni valore e hai prefissato il numero di valori da inserire. Hai scritto troppo codice.
Ti faccio un esempio di come si può "automatizzare" (non mi viene in mente un termine migliore) un programma simile:

Codice PHP:
#include <iostream>

int main()
{
    
double valore 0media 0//la variabile valore equivale alle tue dieci variabili dnumber
    
int nValori//equivale al tuo 10
    
std::cout << "quanti valori vuoi inserire? ";
    
std::cin >> nValori//prendo in input il valore delle variabili da inserire (l'equivalente del tuo 10)
    
for(int x=nValorix>0x--) //ciclo che ripete l'inserimento del valore
    
{
        
std::cout << "inserisci un valore: ";
        
std::cin >> valore;
        
media += valore//inizio a fare parte del calcolo della media
    
}
    
media media/nValori//finisco il calcolo della media
    
std::cout << std::endl << "media: " << media;
    
std::cin.ignore(); // questo e quello sotto equivalgono a system("pause>nul");
    
std::cin.get(); // solo che non dipendono dalla piattaforma




RE: Programma per trovare la media fra 10 numeri - Skyline - 08-05-2011

Oppure (anche se il metodo di steve è migliore) se non hai studiato ancora il ciclo for etc.., puoi usare sempre il tuo codice, però in un modo migliore, più che altro, è migliore per chi lo legge (imho).

Esempio:

Codice PHP:
#include <iostream>

int main()
{
    
double dnumber1dnumber2dnumber3dnumber4dnumber5dnumber6dnumber7dnumber8dnumber9dnumber10daverage;

    
std::cout<<"Program by Danieleplay";
    
std::cout<<"\n\nInserire qui i 10 numeri: \n\n";

    
std::cin>>dnumber1>>dnumber2>>dnumber3>>dnumber4>>dnumber5>>dnumber6>>dnumber7>>dnumber8>>dnumber9>>dnumber10;

    
daverage = (dnumber1 dnumber2 dnumber3 dnumber4 dnumber5 dnumber6 dnumber7 dnumber8 dnumber9dnumber10) / 10;

    
std::cout<<"\n\nLa media dei numeri e\': "<<daverage;

    
system("pause");
    return 
0;





RE: Programma per trovare la media fra 10 numeri - danieleplay - 08-05-2011

Grazie ad entrambi, di quello di steve ho capito poco, ma funziona molto meglio!


RE: Programma per trovare la media fra 10 numeri - steve - 08-05-2011

A grandi linee il programma che ho fatto io è l'equivalente in codice di:
1) Chiedo all'utente quanti valori deve inserire, e me lo tengo in memoria nella variabile nValori.
2) Eseguo il prossimo punto per nValori (= per il numero di valori che devo inserire).
3) Chiedo all'utente di inserire un numero e lo aggiungo a media (che inizialmente vale 0), la variabile valore è solo di transito.
4) Prendo il valore di media e lo divido per il nValori ( = per il numero di valori).
5) Stampo a schermo il risultato.

Nel punto 2 (suppongo sia questa la parte che non hai capito) succede una cosa simile:
2.0) x=nValori (poiché mi interessa mantenere invariata la variabile nValori[i], creo un'altra variabile con lo stesso valore.
2.1) [i]x
è maggiore di 0? (se sì passa al punto 4, altrimenti continua)
2.2) esegui il punto 3
2.3) abbassa di uno il valore di x e torna a 2.1

La variabile valore corrisponde al numero inserito, non mi interessa tenerla in memoria, appena mi dai un numero lo sommo alla media.


RE: Programma per trovare la media fra 10 numeri - danieleplay - 09-05-2011

grazie della spiegazione!