Credo che forse il programma che ho postato prima fosse molto sbagliato...
Che ne pensate di quest'altro?
Per ora non funzionano entrambi!
codice:/*Prova 2 Prova 2* Sia assegnato in ingresso, da tastiera, un vettore di reali V. Si scriva un programma che calcoli la somma som degli elementi di posto pari ed il prodotto prod degli elementi di posto dispari del vettore V. Si stampino quindi il vettore V ed i valori di som e prod. Il programma deve essere articolato in funzioni (ad es.: input, output, somprod). Esempio INPUT: V = 2.1 4.2 1.3 3.2 7.1 6.3 OUTPUT: V = 2.1 4.2 1.3 3.2 7.1 6.3 som = 10.5 prod = 84.7 */ #include<iostream> using namespace std; #include<stdlib.h> #include<iomanip> //Prototipi delle funzioni void input(int &n,float v[]); float somprod(float v[],int n); void output(float v[],int n,float som,float prod); int main() { int n; float v[100]; float som; float prod; //Chiamate della funzione input(n,v); som = somprod(v,n); prod = somprod(v,n); output(v,n,som,prod); cout<<"\n\n"; system("PAUSE"); return 0; } void input(int &n,float v[]) { int i; cout<<"Assegna un valore intero ad n valori del vettore\n"; cin>>n; cout<<"Assegna "<<n<<"valori reali al vettore\n"; for(i=0;i<n;i++) { cin>>v[i]; } } float somprod(float v[],int n) { int i; float som; float prod; som=0; for(i=0;i<n;i=i+2) { som=som + v[i]; } prod=1; for(i=1;i<n;i=i+2) { prod=prod *v[i]; } return som; return prod; } void output(float v[],int n,float som,float prod) { int i; cout<<"I valori del vettore sono\n"; for(i=0;i<n;i++) { cout<<v[i]<<"\n"; } cout<<"La somma dei valori di posto pari del vettore e\' "; cout<<setprecision(3)<<som<<"\n"; cout<<"Il prodotto dei valori di posto dispari del vettore e\' "; cout<<setprecision(3)<<prod<<"\n"; }

Rispondi quotando