Media dei numeri presenti nell'array

di il
2 risposte

Media dei numeri presenti nell'array

In pratica devo fare un programma che mi permette di calcolare la media dei numeri presenti in un array di n numeri scelti dall'utente.
ecco fatto:
#include <iostream>
using namespace std;

//Realizzareunprogrammachecalcolalamediadinnumerirealiinseritidatastiera
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	

	float media, somma;
	int n;
		
		
	cout << " Quanti numeri vuoi inserire ?";
	cin >> n;
	
	int vettore [100];
		
	for (int i=0; i<n; i++)
	{
		cout << " Inserire elemento ";
		cin >> vettore [i];
	}
	
	cout << " Nel vettore ci sono ";
	for (int i =0; i<n; i++)
	{
		cout << vettore [i] << "  " << endl;
	}
	
	somma=0;
	
	for (int i=0; i<n; i++)
	{
		somma= somma + vettore[i];
		 
	}
	cout << "I numeri sono :" << n;
	
	cout << " la somma vale " << somma << endl;
	
	media = somma / n;
	
	cout << " La media vale " << media << endl;
	
	return 0;
}
Ora alo stesso problema lo dovrei fare tramite le funzioni non dovrebbe essere difficile in quanto l'ho fatto tutto in un unico programma, ma sono in difficoltà

2 Risposte

  • Re: Media dei numeri presenti nell'array

    Per ora ho fatto questo
    #include <iostream>
    using namespace std;
    
    void richiedi (int& n)
    {
    	cout << " Quanti elementi vuoi inserire nell'array ";
    	cin >> n;
    }
    
    void somma (int& n, int s, const int v[100])
    {
    	s=0;
    	
    	for (int i=0; i<n; i++)
    	{
    		s=s+v[i];
    	}
    	cout << " La somma vale " << s << endl;
    }
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    
    int main(int argc, char** argv) {
    	int vettore [100];
    	int n; 
    	int sm;
    	
    richiedi (n);
    
    for (int i=0; i<n; i++)
    {
    	cout << " Inserire elementi nell'array ";
    	cin >> vettore [i];
    	
    }
    
    cout << " nell'array ci sono " ;
    for (int i=0; i<n; i++)
    {
    	cout << vettore [i] << "  " ;
    }
    
    somma (n, sm,vettore);
    
    
    	return 0;
    }
  • Re: Media dei numeri presenti nell'array

    Questo e' un esempio.
    Se non devi fare altro con la somma, puoi direttamente "ritornarla" dalla funzione e passarla alla cout.

    Per una miglior leggibilità del codice dovresti scrivere i prototipi delle funzioni nel main o in un file.h, e mettere le definizioni dopo il main o in un file .cpp
    #include <iostream>
    
    using namespace std;
    
    void getArray(int* vettore,int n);
    void printArray(int* vettore,int n);
    
    void richiedi (int& n)
    {
        cout << " Quanti elementi vuoi inserire nell'array ";
        cin >> n;
    }
    
    void somma (int& n, int& s, const int v[100])
    {
        s=0;
    
        for (int i=0; i<n; i++)
        {
            s=s+v[i];
        }
        cout << "\n La somma vale " << s << endl;
    }
    
    int main(int argc, char** argv)
    {
        int vettore[100];
        int n;
        int sm;
    
        richiedi (n);
        getArray(vettore,n);
        printArray(vettore,n);
    
        somma (n, sm,vettore);
        sm/=n;
    
        cout << endl << " La media e' " << sm << endl;
    
    
        return 0;
    }
    
    
    void getArray(int* vettore,int n)
    {
        for (int i=0; i<n; i++)
        {
            cout << " Inserire elemento " << i << " nell'array: ";
            cin >> vettore [i];
        }
    
        return;
    }
    
    void printArray(int* vettore,int n)
    {
        cout << "\n Nell'array ci sono " ;
        for (int i=0; i<n; i++)
        {
            cout << vettore [i] << "  " ;
        }
    
        return;
    }
    
Devi accedere o registrarti per scrivere nel forum
2 risposte