/*Esercizio 3
Siano assegnati in ingresso, da tastiera, un vettore di double V ed il suo riempimento r. Si scriva un
programma che calcoli la media degli elementi di V e conti il numero num di elementi il cui valore
è inferiore a tale media. Si stampino quindi il vettore V, la media calcolata ed il risultato del
conteggio.
Il programma deve essere articolato in funzioni.
Esempi
INPUT:
r = 7
V = 2.5 5.8 2.0 4.3 7.0 9.0 4.1
OUTPUT:
media = 4.957143
num = 4
INPUT:
r = 4
V = 5.3 1.2 8.4 7.8
OUTPUT:
media = 5.675
num = 2*/
alla funzione calcolo della media mi da come errore 39 I:\Elementi di cannot convert `double*' to `double' for argument `3' to ` void calcolomedia(double, int, double, double)'
non so se questa cosa dipende da una conoscenza lacunosa del double oppure ho fatto qualche errore stupido,cmq sta di fatto che non capisco come risolverlo.....![]()
#include <iostream>
#include <stdlib.h>
using namespace std;
void input (int &r,double V[]);
void calcolomedia(double s,int r,const double V,double media);
void conta(int r,const double V[],double media,int &nmag);
void stampa (int r,double V[],double media,int nmag);
int main(int argc, char *argv[])
{
double V[150];
int r;
double s;
double media;
int nmag;
input(r,V);
calcolomedia(s,r,V,media);
conta(r,V,media,nmag);
stampa(r,V,media,nmag);
system("PAUSE");
return 0;
}
void input (int &r,double V[]){
int i;
cout<<"inserisci riempimento"<<endl;
cin>>r;
for(i=0;i<r;i++){
cout<<"inserisci valore numero"i+1<<endl;
cin>>V[i];
}
}
int calcolomedia(double s,int r,const double V,double media)
{int i;
s=0;
for(i=0;i<r;i++){
s=s+V[i];
}
media=s%i;
return media;
}
void conta(int r,const double V[],double media,int &nmag)
int i;{
nmag=0;
for(i=0;i<r;i++){
if(V[i]>media){
nmag=nmag+1;
}
}
}
void stampa (int r,double V[],double media,int nmag){
int i;
for(i=0;i<r;i++){
cout<<"l'array è"<<endl;
cin>>V[i]>>endl;
}
cout<<"il valore medio è"<<media<<endl;
cout<<"i valori maggiori della media sono"<<nmag<<endl;
}