codice:
#include<iostream>
using namespace std;
#include<stdlib.h>
#include<math.h>
void input_vettore(float vett[], int& riemp,float& E);
void somma(float vett[], int riemp, float& somma);
void output_somma(float somma);
void prodotto(float vett[], int riemp, float& prodotto);
void output_prodotto(float prodotto);
void radquad1(float vett[], int riemp, float RQ1[]);
void output_radquad(int riemp, float RQ1[]);
void radquad2(float vett[],int riemp, float RQ2[], float E);
void output_radquad2(int riemp, float RQ2[]);
int main()
{
float V[100],E;
int n;
float som,prod,RQ1[100],RQ2[100],y;
input_vettore(V,n,E);//Chiamata funzione input
somma(V,n,som);//Chiamata funzione somma
output_somma(som);//Chiamata funzione output somma
prodotto(V,n,prod);//Chiamata funzione prodotto
output_prodotto(prod);//Chiamata funzione output prodotto
radquad1(V,n,RQ1);//Chiamata funzione radquad1
output_radquad(n,RQ1);//Chiamata funzione output radquad1
radquad2(V,n,RQ2,E);//Chiamata funzione radquad2
output_radquad2(n,RQ2);//Chaimata funzione output radquad2
system("PAUSE");
return 0;
}
//Funzione input vettore
void input_vettore(float vett[], int& riemp,float& E)
{
int i;
cout<<"Assegna valore intero al numero n di elementi del vettore:\t";
cin>>riemp;
cout<<"\n\nAssegna "<<riemp<<" valori reali agli elementi del vettore:\n\n";
for(i=0;i<riemp;i++)
{
cin>>vett[i];
}
cout<<"Assegna valore alla precisione richiesta:\t";
cin>>E;
}
//Funzione somma elementi del vettore
void somma(float vett[], int riemp, float& somma)
{
int i;
somma=0;
for(i=0;i<riemp;i++)
{
somma=somma+vett[i];
}
}
//Funzione output somma vettore
void output_somma(float somma)
{
cout<<"\nSomma = "<<somma;
cout<<"\n\n";
}
//Funzione prodotto elementi del vettore
void prodotto(float vett[], int riemp, float& prodotto)
{
int i;
prodotto=1;
for(i=0;i<riemp;i++)
{
prodotto=prodotto*vett[i];
}
}
//Funzione output prodotto
void output_prodotto(float prodotto)
{
cout<<"Prodotto = "<<prodotto;
cout<<"\n\n";
}
//Funzione Radice quadrata tramite "sqrt"
void radquad1(float vett[], int riemp, float RQ1[])
{
int i;
for(i=0;i<riemp;i++)
{
RQ1[i]=sqrt(vett[i]);
}
}
//Funzione output radquad
void output_radquad(int riemp, float RQ1[])
{
int i;
cout<<"RQ1:\t";
for(i=0;i<riemp;i++)
{
cout<<RQ1[i]<<"\t\t";
}
cout<<"\n\n";
}
//Funzione Radice quadrata tramite formula di Newton
void radquad2(float vett[],int riemp, float RQ2[], float E)
{
int i;
float y;
for(i=0;i<riemp;i++)
{
y=1;
do
{
y=(y+vett[i]/y)/2;
}while(fabs((y*y-vett[i])/vett[i])>E);
RQ2[i]=y;
}
}
//Funzione output radquad2
void output_radquad2(int riemp, float RQ2[])
{
int i;
cout<<"RQ2:\t";
for(i=0;i<riemp;i++)
{
cout<<RQ2[i]<<"\t\t";
}
cout<<"\n\n";
}
Molte cose sono superflue..(tipo tutti quegli output)..cmq gira..ciao e fammi sapere ki sei così casomai ci vediamo in facoltà..