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();
}
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
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();
}