E son stato cotretto a dover riscrivere la funzione double per calcolare la media del nuovo vettore 3 in questo modo:
#include<iostream>
using namespace std;
#include<stdlib.h>
//Prototipi delle funzioni
void input (int &n,float vett[]);
double vettmedia(int n1,float vett1[]);
void vett_nuovo(int n1,int n2,float vett1[],float vett2[],int &n3,float vett3[]);
void output(int n,float vett[]);
double vettmedia3(int n3,float vett3[]);
//Si scriva un programma che copi in un nuovo vettore V3 i valori contenuti in V2
// che risultano minori della media dei valori presenti in V1
int main() {
int n1;
int n2;
int n3;
float vett1[100];
float vett2[100];
float vett3[100];
//Chiamate delle funzioni
cout<<"Riempimento vettore 1 \n";
input (n1, vett1);
cout<<"Riempimento vettore 2 \n";
input (n2, vett2);
cout<<"Il vettore V1="<<endl;
output(n1,vett1);
cout<<"\n";
cout<<"Il vettore V2="<<endl;
output(n2,vett2);
double media= vettmedia(n1,vett1);
cout<<"la media del vettore 1e'= "<<media<<endl;
vett_nuovo(n1,n2,vett1,vett2,n3,vett3);
cout<<"il vettore3 risultante e'=\n";
output(n3,vett3);
double media3= vettmedia3(n3,vett3);
cout<<"la media del vettore 3e'= "<<media3<<endl;
cout<<"\n\n";
system("PAUSE");
return 0;
}
void input(int&n,float vett[]) {
cin>>n;
cout<<"\n";
cout<<"Assegna"<<n<<"elementi del vettore \n ";
for (int i=0;i<n;i++)
cin>>vett;
}
double vettmedia(int n1,float vett1[]){
double media=0;
for (int i=0;i<n1;i++) {
media+=vett1;}
media=media/n1;
return media;
}
void vett_nuovo(int n1,int n2,float vett1[],float vett2[],int &n3,float vett3[]){
double media= vettmedia(n1,vett1);
n3=0;
for (int i=0;i<n2;i++){
if(vett2<media){
vett3[n3]=vett2;
n3++;
}
}
}
double vettmedia3(int n3,float vett3[]){
double media3=0;
for (int i=0;i<n3;i++) {
media3+=vett3;}
media3=media3/n3;
return media3;
}
void output (int n, float vett[]){
for (int i=0;i<n;i++)
cout<<" "<<vett;
cout<<"\n";
}