C++

C++

domingo, 27 de marzo de 2011

Practica 8

PRACTICA 8


Ejercicio 1

Escriba un  programa que escriba una funcion con nombre, promedio, para calcular el promedio de 3 valores dados.

Pseudocodigo

1.- Inicio
v1,v2,v3 int
print " Valor 1 entero "
read v1
print" Valor 2 entero "
read v2
print " Valor 3 entero "
read v3
promedio (v1,v2,v3)
FIN

2.-Inicio
void promedio(int n1, int n2, int n3)
{
int suma=(n1+n2+n3)
int P=suma/3
print " El promedio es= ",P
}
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
void promedio (int n1, int n2, int n3);
void main()
{
int v1,v2,v3;
cout<<" Valor 1 entero ";
cin>>v1;
cout<<" Valor 2 entero ";
cin>>v2;
cout<<" Valor 3 entero ";
cin>>v3;
promedio (v1,v2,v3);
getch();
}
void promedio(int n1, int n2, int n3)
{
int suma=(n1+n2+n3);
int P=suma/3;
cout<<" El promedio es= "<<P<<endl;
}




 Ejercicio 2

Escriba un  programa que escriba una funcion con nombre, promedio, para calcular el promedio de 3 valores dados.

Pseudocodigo

1.-Inicio
int promedio(int n1,int n2,int n3)
{
int p=(n1+n2+n3)/3
return p;
}
FIN

2.-Inicio
{
v1,v2,v3,x  int
print "Valor 1: "
read v1
print "Valor 2: "
read v2
print "Valor 3: "
read v3
x=promedio(v1,v2,v3)
print " Promedio: ",x
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
int promedio(int n1,int n2,int n3)
{
int p=(n1+n2+n3)/3;
return p;
}
void main()
{
int v1,v2,v3,x;
cout<<"Valor 1: ";
cin>>v1;
cout<<"Valor 2: ";
cin>>v2;
cout<<"Valor 3: ";
cin>>v3;
x=promedio(v1,v2,v3);
cout<<" Promedio: "<<x;
getch();
}




Ejercicio 3

El volumen v de cilindro esta dado por la formula  v= π r2 l donde r es el radio del cilindro y l su largo.Usando esta formula  escriba una funcion nombrada volcil que acepte el radio y el largo de un cilindro y devuelva su volumen.
Diseñe una funcion que areasup acepte el largo y radio de un cilindro y devuelva su superficie.
(s= 2π r l).

Asegure que las funciones sean llamadas desde main () y devuelva en forma correcta un valor main ().

Pseudocodigo

1.-Inicio
real volcil(real radio,real largo)
{
return(3.1416*pow(radio,2)*largo)
}
real areasup(real radio,real largo)
{
area real
area=2*3.1416*radio*largo
return area
}
FIN

2.-Inicio
{
vol,a1 real
rad,la real
print " Radio del Cilindro "
read rad
print " Largo del Cilindro "
read la
vol=volcil(rad,la)
a1=areasup(rad,la)
print " El volumen es ",vol
print " El area de la superficie del cilindro es ",a1
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
float volcil(float radio,float largo)
{
return(3.1416*pow(radio,2)*largo);
}
float areasup(float radio,float largo)
{
float area;
area=2*3.1416*radio*largo;
return area;
}
void main()
{
float vol,a1;
float rad,la;
cout<<" Radio del Cilindro ";
cin>>rad;
cout<<" Largo del Cilindro ";
cin>>la;
vol=volcil(rad,la);
a1=areasup(rad,la);
cout<<" El volumen es "<<vol<<endl;
cout<<" El area de la superficie del cilindro es "<<a1<<endl;
getch();
}



Ejercicio 4



Pseudocodigo

1.-Inicio
real triangulorectangulo(real a,real b)
{
c  real
c=sqrt(a*a+b*b)
return c
}
FIN

2.-Inicio
{
lado1,lado2,c int
print "Cateto Op.: "
read lado1
print "Cateto Ad.: "
read lado2            
c=triangulorectangulo(lado1,lado2)
print "La hipotenusa del triangulo rectangulo es: ",c
FIN



CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
float triangulorectangulo(float a,float b)
{
float c;
c=sqrt(a*a+b*b);
return c;
}
void main()
{
 int lado1,lado2,c;
cout<<"Cateto Op.: ";
cin>>lado1;
cout<<"Cateto Ad.: ";
cin>>lado2;            
c=triangulorectangulo(lado1,lado2);
cout<<"La hipotenusa del triangulo rectangulo es: "<<c;
getch();
}




Ejercicio 5

 
Pseudocodigo

1.- Inicio
void generarDatos(int valores[100])
int sumaDatos(int valores[100])
void listaDatos(int valores[100])
int numeroMayor(int valores[100])
int numeroMenor(int valores[100])
FIN

2.- Inicio
{
int numeros[100]
generarDatos(numeros)
listaDatos(numeros)
print "El dato mayor es ",numeroMayor(numeros)
print "El dato menor es ",numeroMenor(numeros)
print "La suma de datos es ",sumaDatos(numeros)
FIN
Inicio
void generarDatos(int valores[100])
{
randomize();
for (int i=0;i<=99;i++)
{
valores[i]=random(2000)+1
}
}
void listaDatos(int valores[100])
{
for (int i=0 to 99 step i++)
{
print valores[i],"\t"
}
}
int numeroMayor(int valores[100])
{
int mayor=valores[0]
for(int i=1 to 100 step i++)
{
if(valores[i]>mayor)
{
mayor=valores[i]
}
}
return mayor
}
int numeroMenor(int valores[100])
{
int menor=valores[0]
for(int i=1 to 100 step i++)
{
if(valores[i]<menor)
{
menor=valores[i]
}
}
return menor
}
int sumaDatos(int valores[100])
{
int suma=valores[0]
for(int i=1 to 100 step i++)
{
suma=suma+valores[100]
}
return suma
}
FIN


CODIGO

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
void generarDatos(int valores[100]);
int sumaDatos(int valores[100]);
void listaDatos(int valores[100]);
int numeroMayor(int valores[100]);
int numeroMenor(int valores[100]);
void main()
{
int numeros[100];
 generarDatos(numeros);
 listaDatos(numeros);
 cout<<"El dato mayor es "<<numeroMayor(numeros)<<endl;
 cout<<"El dato menor es "<<numeroMenor(numeros)<<endl;
 cout<<"La suma de datos es "<<sumaDatos(numeros)<<endl;
getch();
}
void generarDatos(int valores[100])
{
randomize();
for (int i=0;i<=99;i++)
{
valores[i]=random(2000)+1;
}
}
void listaDatos(int valores[100])
{
for (int i=0;i<=99;i++)
{
cout<<valores[i]<<"\t";
}
cout<<endl;
}
int numeroMayor(int valores[100])
{
int mayor=valores[0];
for(int i=1;i<100;i++)
{
if(valores[i]>mayor)
{
mayor=valores[i];
}
}
return mayor;
}
int numeroMenor(int valores[100])
{
int menor=valores[0];
for(int i=1;i<100;i++)
{
if(valores[i]<menor)
{
menor=valores[i];
}
}
return menor;
}
int sumaDatos(int valores[100])
{
int suma=valores[0];
for(int i=1;i<100;i++)
{
suma=suma+valores[100];
}
return suma;
}



Ejercicio 6


Pseudocodigo

1.- Inicio
void introCorriente(int corriente[10])
void introResistencia(int resistencia[10])
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
FIN

2.- Inicio
{
int res[10], corr[10], vol[10]
introCorriente(corr)
introResistencia(res)
calculoVoltio(corr, res, vol)
imprimirDatos(corr, res, vol)
FIN

Inicio
void introCorriente(int corriente[10])
{
i int
for(i=0  to 10 step i++)
{
print "Corriente[",i,"]:"
read corriente[i]
}
}
void introResistencia(int resistencia[10])
{
i int
for(i=0 to 10 step i++)
{
print "Resistencia[",i,"]:"
read resistencia[i]
}
}
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
{
i int
for(i=0 to 10 step i++)
voltios[i]=corriente[i]*resistencia[i]
}
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
{
i int
print "Corriente           Resistencia             Voltios"
for(i=0 to 10 step i++)
{
print corriente[i],"       ",resistencia[i],"      ",voltios[i]
}
}
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
void introCorriente(int corriente[10]);
void introResistencia(int resistencia[10]);
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10]);
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10]);
void main()
{
int res[10], corr[10], vol[10];
introCorriente(corr);
introResistencia(res);
calculoVoltio(corr, res, vol);
imprimirDatos(corr, res, vol);
getch();
}
void introCorriente(int corriente[10])
{
int i;
for(i=0;i<10;i++)
{
cout<<"Corriente["<<i<<"]:";
cin>>corriente[i];
}
}
void introResistencia(int resistencia[10])
{
int i;
for(i=0;i<10;i++)
{
cout<<"Resistencia["<<i<<"]:";
cin>>resistencia[i];
}
}
void calculoVoltio(int corriente[10],int resistencia[10],int voltios[10])
{
int i;
for(i=0;i<10;i++)
voltios[i]=corriente[i]*resistencia[i];
}
void imprimirDatos(int corriente[10],int resistencia[10],int voltios[10])
{
int i;
cout<<"Corriente           Resistencia             Voltios"<<endl;
for(i=0;i<10;i++)
{
cout<<corriente[i]<<"                  "<<resistencia[i]<<"                "<<voltios[i]<<endl;
}
}




Ejercicio 7

Funciones que regresan valores multiples.
Pseudocodigo

1.-Inicio
void intercambio(int & primervalor, int & segundovalor)
int mayor(int a,int b,int c)
{
if (a>=b && a>=c)
{
return a
}
else
{
if(b>=a && b>=c)
{
return b
}
else
{
return c
}
}
}
FIN
2.-Inicio
{
N1,N2,N3, may  int
print " N1 "
read N1
print" N2 "
read N2
print " N3 "
read N3
may=mayor(N1,N2,N3)
print " El mayor es= ",may
intercambio(N1,N2)
print " Dato N1 ",N1
print " Dato N2 ",N2
void intercambio(int & primervalor, int & segundovalor)
{
int temporal
temporal=primervalor
primervalor=segundovalor
segundovalor=temporal
}
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void intercambio(int & primervalor, int & segundovalor);
int mayor(int a,int b,int c)
{
if (a>=b&&a>=c)
{
return a;
}
else
{
if(b>=a&&b>=c)
{
return b;
}
else
{
return c;
}
}
}
void main()
{
int N1,N2,N3, may;
cout<<" N1 ";
cin>>N1;
cout<<" N2 ";
cin>>N2;
cout<<" N3 ";
cin>>N3;
may=mayor(N1,N2,N3);
cout<<" El mayor es= "<<may<<endl;
intercambio(N1,N2);
cout<<" Dato N1 "<<N1<<endl;
cout<<" Dato N2 "<<N2<<endl;
getch();
}
void intercambio(int & primervalor, int & segundovalor)
{
int temporal;
temporal=primervalor;
primervalor=segundovalor;
segundovalor=temporal;
}



Ejercicio 8

Escriba una funcion llamada tiempo que tenga un parametro en numero entero denominado segundos y tres parametros de referencia en numero entero denominado en: horas, minutos y segundos. La funcion a de convertir el numero transmitido en segundos a su equivalente en horas, minutos y segundos. Utilizando las referencias, la funcion debe alterar directamente los argumentos respectivos en la funcion que llama.


Pseudocodigo

1.- Inicio
void tiempo(int segundos, int & horas, int & min, int & seg)
{
horas=segundos/3600
min=(segundos%3600)/60
seg=(segundos%3600)%60
}
FIN

2.-Inicio
{
int segundos1,h1,m1,s1
print " Segundos "
read segundos1
tiempo(segundos1,h1,m1,s1)
print h1," : ",m1," : ",s1
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
void tiempo(int segundos, int & horas, int & min, int & seg)
{
horas=segundos/3600;
min=(segundos%3600)/60;
seg=(segundos%3600)%60;
}
void main()
{
int segundos1,h1,m1,s1;
cout<<" Segundos ";
cin>>segundos1;
tiempo(segundos1,h1,m1,s1);
cout<<h1<<" : "<<m1<<" : "<<s1<<endl;
getch();
}




Ejercicio 9

Escriba una funcion denominada calc_anhos () que tenga un parametro en numero entero que represente el numero total de dias desde la fecha 1 de enero de 1900 y los parametros de referencia denominados anio, mes, dia. La funcion a de calcular el ano, el mes y el dia para un numero de dias trasmitidos. Utilizando las referencias la funcion debe alterar directamente los argumentos respectivos enn la funcion que llama. Para este problema suponga que cada ano tiene 365 dias y cada mes 30 dias. 

Pseudocodigo

1.- Inicio
void calc_anhos(int dias, int & anio, int & mes, int & dia)
{
anio1,mes1,dia1 int
anio1=dias/365
dias=dias-(anio1*365)
mes1=dias/30
dia1=dias%30
dia=dia+dia1
mes=mes+mes1
anio=anio+anio1
}
FIN

2.-Inicio
{
dias, a=1900, m=1, d=1 int
print " Dias "
read dias
calc_anhos(dias,a,m,d)
print a,"/",m,"/",d
FI


CODIGO

#include <iostream.h>
#include <conio.h>
void calc_anhos(int dias, int & anio, int & mes, int & dia)
{
int anio1,mes1,dia1;
anio1=dias/365;
dias=dias-(anio1*365);
mes1=dias/30;
dia1=dias%30;
dia=dia+dia1;
mes=mes+mes1;
anio=anio+anio1;
}
void main()
{
int dias, a=1900, m=1, d=1;
cout<<" Dias ";
cin>>dias;
calc_anhos(dias,a,m,d);
cout<<a<<"/"<<m<<"/"<<d<<endl;
getch();
}


Ejercicio 10

Escriba una plantilla llamada maximo ()  que devuelva el valor maximo de 3 argumentos que se transmiten a la funcion cuando esta sea llamada. Suponga que los 3 argumentos seran del mismo tipo de dato.
Incluya la plantilla de funcion dentro de un programa completo que llame la funcion con 3 numeros  enteros y luego con 3 numeros en punto flotante.

Pseudocodigo

1,- Inicio
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2
}
else
{
return n3
}
}
}
FIN
2.- Inicio
{
num1, num2, num3 int
nf1, nf2, nf3  real
print " Valor Entero "
read num1
print " Segundo Valor entero "
read num2
print " Tercer Valor entero "
read num3
print " El dato mayor es = "<<maximo(num1, num2, num3)
print " Valor Flotante = "
read nf1
print " Segundo Valor Flotante = "
read nf2
print " Tercer  Valor Flotante = "
read nf3
print " El dato mayor es = ",maximo(nf1,nf2,nf3)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1;
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2;
}
else
{
return n3;
}
}
}
void main()
{
int num1, num2, num3;
float nf1, nf2, nf3;
cout<<" Valor Entero ";
cin>>num1;
cout<<" Segundo Valor entero ";
cin>>num2;
cout<<" Tercer Valor entero ";
cin>>num3;
cout<<" El dato mayor es = "<<maximo(num1, num2, num3)<<endl;
cout<<endl;
cout<<" Valor Flotante = ";
cin>>nf1;
cout<<" Segundo Valor Flotante = ";
cin>>nf2;
cout<<" Tercer  Valor Flotante = ";
cin>>nf3;
cout<<" El dato mayor es = "<<maximo(nf1,nf2,nf3)<<endl;
getch();
}


Ejercicio 11

Escriba una plantilla de funcion llamada areacuadrado que calcule y devuelva el area de un cuadrado.Escriba una plantilla de una funcion llamada percuadrado que calcule y devuelva el perimetro de un cuadrado de un solo argumento transmitido a la funcion cuando esta sea llamada. Incluya la plantilla de funcion dentro de un programa completo. 

Pseudocodigo

1.-Inicio
template <class T>
T areacuadrado (T lado)
{
return lado*lado
}
template <class T>
T percuadrado(T lado)
{
return 4*lado
}
FIN

2.-Inicio
{
double lado
print " Lado Cuadrado (double)= "
read lado
print " El Area del Cuadrado es = ",areacuadrado(lado)
print " El perimetro del Cuadrado es = ",percuadrado(lado)
int l1
print " Lado Cuadrado (entero)= "
read l1
print" El Area del Cuadrado es = ",areacuadrado(l1)
print " El perimetro del Cuadrado es = ",percuadrado(l1)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
template <class T>
T maximo (T n1, T n2, T n3)
{
if(n1>=n2 && n1>=n3)
{
return n1;
}
else
{
if(n2>=n1 && n2>=n3)
{
return n2;
}
else
{
return n3;
}
}
}
void main()
{
int num1, num2, num3;
float nf1, nf2, nf3;
cout<<" Valor Entero ";
cin>>num1;
cout<<" Segundo Valor entero ";
cin>>num2;
cout<<" Tercer Valor entero ";
cin>>num3;
cout<<" El dato mayor es = "<<maximo(num1, num2, num3)<<endl;
cout<<endl;
cout<<" Valor Flotante = ";
cin>>nf1;
cout<<" Segundo Valor Flotante = ";
cin>>nf2;
cout<<" Tercer  Valor Flotante = ";
cin>>nf3;
cout<<" El dato mayor es = "<<maximo(nf1,nf2,nf3)<<endl;
getch();
}


Ejercicio 12

Escriba un  programa que almacene  los valores  en un arreglo llamado resistencia.
El programa tambien debe crear dos arreglos llamados corriente y potencia, los cuales deberan ser capaces de almacenar cinco valores introducidos por el usuario para el arreglo corriente y resistencia, la cual debe alamacenar en el arreglo potencia el producto de los valores correspondientes al cuadrado del arreglo corriente y el arreglo resistencia (potencia[i]= resistencia[i]*corriente[i],2).
Desplegar la siguiente salida:
"Resistencia        Corriente         Potencia"
                                               Total=

Pseudocodigo

1.- Inicio
template <class T>
void IntroResistencia (T Resistencia[5])
{
i int
for(i=0 to 5 step i=i+1)
{
print "Resistencia ["<<(i+1)<<"]:"
read Resistencia [i]
}
}

2.Inicio
template <class T>
void IntroCorriente (T Corriente [5])
{
i int
for(i=0 to 5 step i=i+1)
{
print "Corriente [",(i+1),"]:"
read Corriente [i]
}
}

3.Inicio
template <class T>
void Calculo_Pot (T Resistencia [5],T Corriente [5],T Potencia [5])
{
i int
for(i=0 to 5 step i=i+1)
{
Potencia[i]=Resistencia[i]*pow(Corriente[i],2)
}
}

4.Inicio
template <class T>
T Suma_Potencia(T Potencia[5])
{
i int
T Suma=0
for(i=0 to 5 step i=i+1)
{
Suma=Suma+Potencia[i]
}
return Suma
}

5.Inicio
template <class T>
void Imprime(T Resistencia[5], T Corriente[5], T Potencia[5])
{
i int
print "Resistencia          Corriente              Potencia"
for (i=0 to 5 step i=i+1)
{
print Resistencia [i],"   \t\t\t"
print Corriente [i],"\t\t\t"
print Potencia [i],"\t\t\t"
}
}

6.-Inicio
Void main()
{
int Res[5],Corr[5],P[5]
IntroResistencia (Res)
IntroCorriente (Corr);
Calculo_Pot (Res,Corr,P);
Imprime (Res, Corr, P);
print "              TOTAL: ",Suma_Potencia(P)
FIN


CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>
template <class T>
void IntroResistencia (T Resistencia[5])
{
int i;
for(i=0;i<5;i=i+1)
{
cout<<"Resistencia ["<<(i+1)<<"]:";
cin>>Resistencia [i];
}
cout<<""<<endl;
}
template <class T>
void IntroCorriente (T Corriente [5])
{
int i;
for(i=0;i<5;i=i+1)
{
cout<<"Corriente ["<<(i+1)<<"]:";
cin>>Corriente [i];
}
cout<<""<<endl;
}
template <class T>
void Calculo_Pot (T Resistencia [5],T Corriente [5],T Potencia [5])
{
int i;
for(i=0;i<5;i=i+1)
{
Potencia[i]=Resistencia[i]*pow(Corriente[i],2);
}
}
template <class T>
T Suma_Potencia(T Potencia[5])
{
int i;
T Suma=0;
for(i=0;i<5;i=i+1)
{
Suma=Suma+Potencia[i];
}
return Suma;
}
template <class T>
void Imprime(T Resistencia[5], T Corriente[5], T Potencia[5])
{
int i;
cout<<"Resistencia          Corriente              Potencia"<<endl;
cout<<""<<endl;
for (i=0;i<5;i=i+1)
{
cout<<Resistencia [i]<<"   \t\t\t";
cout<<Corriente [i]<<"\t\t\t";
cout<<Potencia [i]<<"\t\t\t"<<endl;
}
}
void main()
{
int Res[5],Corr[5],P[5];
IntroResistencia (Res);
IntroCorriente (Corr);
Calculo_Pot (Res,Corr,P);
Imprime (Res, Corr, P);
cout<<"                                         TOTAL: "<<Suma_Potencia(P)<<endl;
getch();
}



Ejercicio 13

Formule un programa para obtener los siguientes valores estadisticos para un arreglo unidimensional X, compuesto de N elementos.
Desviación Media
Raíz del valor cuadrático medio
Medio armónico
Intervalo= Máximo(x1,x2,......xn)-Minimo(x1,x2,.....xn)
Medio 
Geométrico

Pseudocodigo

1.Inicio
template <class T>
T prom(int n,T x[30])
{
p,i,suma=0 int
for(i=0 to n step i=i+1)
{
suma=suma+x[i];
}
p=suma/n;
return p;
}


2.Inicio
template <class T>
void valores(int n,T x[30])
{
i int 
for(i=0 to n step i=i+1)
{
print " Datos [" , (i+1) , "]: ";
cin>>x[i];
}
}


3.Inicio
template <class T>
T desvia(int n,T x[30])
{
suma,des,p,i int
p=prom(n,x)
suma=0
for(i=0 to n step i=i+1)
{
suma=suma+abs(x[i]-p)
}
des=suma/n
return des
}


4.Inicio
template <class T>
T cuadmed(int n,T x[30])
{
cm,suma=0,i  int
for(i=0 to n step i=i+1)
{
suma=suma+pow(x[i],2)
}
suma=suma/n
cm=sqrt(suma)
return cm
}


5.Inicio
template <class T>
T medarm(int n,T x[30])
{
suma=0,i,ma int
for(i=0 to n step i=i+1)
{
suma=suma+(1.0/x[i])
}
ma=n/suma
return ma
}


6.Inicio
template <class T>
T max(int n,T x[30])
{
i,max int
max=x[0]
for(i=0 to n step i=i+1)
{
if(x[i]>max)
{
max=x[i]
}
}
return max
}


7.Inicio
template <class T>
T min(int n,T x[30])
{
i,min int
min=x[0]
for(i=0 to n step i=i+1)
{
if(x[i]<min)
{
min=x[i]
}
}
return min
}


8.Inicio
template <class T>
T intervalo(int n,T x[30])
{
inter int
inter=max(n,x)-min(n,x)
return inter
}


9.Inicio
template <class T>
T medgeo(int n,T x[30])
{
gm,prod=1,i int
for(i=0 to n step i=i+1)
{
prod=prod*x[i]
}
gm=pow(prod,1.0/n)
return gm
}

10.inicio
void main()
{
 n1 int
 x1[30] real
do
{
print " La cantidad de datos (<30): "
read n1
}
while(n1<=0 || n1>30)
valores (n1,x1)
print " Desviacion estandar: ", desvia(n1,x1), endl
print " Raiz del valor cuadratico medio: ", cuadmed(n1,x1), endl
print " media armonica: ",medarm(n1,x1), endl
print " Intervalo: ", intervalo(n1,x1), endl
print " Media geometrica: ", medgeo(n1,x1), endl;
FIN

CODIGO

#include <iostream.h>
#include <conio.h>
#include <math.h>

template <class T>
T prom(int n,T x[30])
{
int p,i,suma=0;
for(i=0;i<n;i++)
{
suma=suma+x[i];
}
p=suma/n;
return p;
}

template <class T>
void valores(int n,T x[30])
{
int i;

for(i=0;i<n;i++)
{
cout<<" Datos ["<<(i+1)<<"]: ";
cin>>x[i];
}
}

template <class T>
T desvia(int n,T x[30])
{
int suma,des,p,i;
p=prom(n,x);
suma=0;
for(i=0;i<n;i++)
{
suma=suma+abs(x[i]-p);
}
des=suma/n;
return des;
}

template <class T>
T cuadmed(int n,T x[30])
{
int cm,suma=0,i;
for(i=0;i<n;i++)
{
suma=suma+pow(x[i],2);
}
suma=suma/n;
cm=sqrt(suma);
return cm;
}

template <class T>
T medarm(int n,T x[30])
{
int suma=0,i,ma;
for(i=0;i<n;i++)
{
suma=suma+(1.0/x[i]);
}
ma=n/suma;
return ma;
}

template <class T>
T max(int n,T x[30])
{
int i,max;
max=x[0];
for(i=1;i<n;i++)
{
if(x[i]>max)
{
max=x[i];
}
}
return max;
}

template <class T>
T min(int n,T x[30])
{
int i,min;
min=x[0];
for(i=1;i<n;i++)
{
if(x[i]<min)
{
min=x[i];
}
}
return min;
}

template <class T>
T intervalo(int n,T x[30])
{
int inter;
inter=max(n,x)-min(n,x);
return inter;
}

template <class T>
T medgeo(int n,T x[30])
{
int gm,prod=1,i;
for(i=0;i<n;i++)
{
prod=prod*x[i];
}
gm=pow(prod,1.0/n);
return gm;
}

void main()
{
int n1;
float x1[30];
do
{
cout<<" La cantidad de datos (<30): ";
cin>>n1;
}
while(n1<=0 || n1>30);
valores (n1,x1);
cout<<endl;
cout<<" Desviacion estandar: "<<desvia(n1,x1)<<endl;
cout<<endl;
cout<<" Raiz del valor cuadratico medio: "<<cuadmed(n1,x1)<<endl;
cout<<endl;
cout<<" media armonica: "<<medarm(n1,x1)<<endl;
cout<<endl;
cout<<" Intervalo: "<<intervalo(n1,x1)<<endl;
cout<<endl;
cout<<" Media geometrica: "<<medgeo(n1,x1)<<endl;
cout<<endl;

getch();
}





No hay comentarios:

Publicar un comentario