martes, 29 de mayo de 2012

practica 13

Practica 13 problema 1, realizar las siguientes operaciones con funciones introducioendo un numero de datos introducido por el usuario

 #include <conio.h>
#include <iostream.h>
#include <math.h>
template <class T>
void inDatosArreglo(T arreglo[10],int n);
template <class T>
T promedio(T arreglo[10],int n);
template <class T>
T mediaGeometrica(T arreglo[10],int n);
template <class T>
T mediaArmonica(T arreglo[10],int n);
template <class T>
T menor(T arreglo[10],int n);
template <class T>
T mayor(T arreglo[10],int n);
template <class T>
T variancia(T arreglo[10],int n);
int main()
{float a[10];
int n1;
do
{
    cout<<"prctica 13 problema 1 marco antonio villarreal uribe 11021043"<<endl;
    cout<<endl;
cout<<"introduce  numero de datos(<=10)= ";
cin>>n1;
}
while(n1<=0 || n1>10);
inDatosArreglo(a,n1);
cout<<endl;
cout<<" El promedio es         : "<<promedio(a,n1)<<endl;
cout<<" La media geometrica es : "<<mediaGeometrica(a,n1)<<endl;
cout<<" La media Armonica es   : "<<mediaArmonica(a,n1)<<endl;
cout<<" El intervalo es        :("<<menor(a,n1)<<","<<mayor(a,n1)<<")"<<endl;
cout<<" La Variancia es        : "<<variancia(a,n1)<<endl;
cout<<" La Desviacion estandar : "<<pow(variancia(a,n1),.5)<<endl;
getch();
}
template <class T>
void inDatosArreglo(T arreglo[10],int n)
{
int i=0;
for(i=0; i<n ;i++)
{
cout<<"dato "<<(i+1)<<"= ";
cin>>arreglo[i];
}}



template <class T>
T promedio(T arreglo[10],int n)
{
T suma=0;
int i=0;
for(i=0; i<n ;i++)
{
suma=suma+arreglo[i];
}
return suma/n;
}



template <class T>
T mediaGeometrica(T arreglo[10],int n)
{
T suma=1;
int i=0;
for(i=0; i<n ;i++)
{
suma=suma*arreglo[i];
}
return pow(suma,1.0/n);
}



template <class T>
T mediaArmonica(T arreglo[10],int n)
{
T suma=0 ;
int i=0;
for(i=0; i<n ;i++)
{
suma=suma+1.0/arreglo[i];
}
return n/suma;
}



template <class T>
T menor(T arreglo[10],int n)
{
T menor=9999;
int i=0;
for(i=0; i<n ;i++)
{
if(arreglo[i]<menor)
{
menor=arreglo[i];
}}
return menor;
}



template <class T>
T mayor(T arreglo[10],int n)
{
T mayor=0;
int i=0;
for(i=0; i<n ;i++)
{
if(arreglo[i]>mayor)
{
mayor=arreglo[i];
}}
return mayor;
}



template <class T>
T variancia(T arreglo[10],int n)
{
T media=0;
T suma=0;
int i=0;
for(i=0; i<n ;i++)
{
suma=suma+arreglo[i];
}
media=suma/n;
suma=0      ;
for(i=0; i<n ;i++)
{
suma=suma+pow(media-arreglo[i],2);
}
return suma/n;
}








template <class T>
T inDatosArreglo(T arreglo[10],int n);
template <class T>
T promedio(T arreglo[10],int n);
template <class T>
T mediaGeometrica(T arreglo[10],int n);
template <class T>
T mediaArmonica(T arreglo[10],int n);
template <class T>
T menor(T arreglo[10],int n);
template <class T>
T mayor(T arreglo[10],int n);
template <class T>
T variancia(T arreglo[10],int n);
INICIO
{  a[10] REAL
  n1 INT
do
{
     PRINT "prctica 13 problema 1 marco antonio villarreal uribe 11021043"
     PRINT endl
PRINT "introduce  numero de datos(<=10)= "
READ n1
}
while(n1<=0 || n1>10)
inDatosArreglo(a,n1);
PRINTendl;
PRINT" El promedio es         : ",promedio(a,n1)
PRINT" La media geometrica es : ",mediaGeometrica(a,n1)
PRINT" La media Armonica es   : ",mediaArmonica(a,n1)<<endl;
PRINT" El intervalo es        :(",menor(a,n1)<<","<<mayor(a,n1)<<")"
PRINT" La Variancia es        : ",variancia(a,n1)<<endl;
PRINT" La Desviacion estandar : ",pow(variancia(a,n1),.5)
getch();
}
template <class T>
void inDatosArreglo(T arreglo[10],int n)
{
 i=0 INT
for(i=0 to n step ;i++)
{
PRINT "dato ",(i+1) ,"= "
READ arreglo[i];
}}



template <class T>
T promedio(T arreglo[10],int n)
{
T suma=0;
 i=0 INT
for(i=0 to n step ;i++)
{
suma=suma+arreglo[i]
}
return suma/n
}



template <class T>
T mediaGeometrica(T arreglo[10],int n)
{
T suma=1
  i=0 INT
for(i=0 to n step ;i++)
{
suma=suma*arreglo[i]
}
return pow(suma,1.0/n)
}



template <class T>
T mediaArmonica(T arreglo[10],int n)
{
T suma=0 ;
 i=0 INT
for(i=0 to n step ;i++)
{
suma=suma+1.0/arreglo[i]
}
return n/suma
}



template <class T>
T menor(T arreglo[10],int n)
{
T menor=9999
  i=0  INT
for(i=0 to n step ;i++)
{
if(arreglo[i]<menor)
{
menor=arreglo[i]
}}
return menor
}



template <class T>
T mayor(T arreglo[10],int n)
{
T mayor=0
  i=0  INT
for(i=0 to n step ;i++)
{
if(arreglo[i]>mayor)
{
mayor=arreglo[i]
}}
return mayor
}



template <class T>
T variancia(T arreglo[10],int n)
{
T media=0
T suma=0 ;
  i=0 INT
for(i=0 to n step ;i++)
{
suma=suma+arreglo[i]
}
media=suma/n
suma=0    
for(i=0 to n step ;i++)
{
suma=suma+pow(media-arreglo[i],2)
}
return suma/n
}


Practica 13 Problema 2,

#include <conio.h>
#include <iostream.h>
#include <stdio.h>
void dtarreglo(char a[5][30]);
void pa(float p[5]);
void sv(int nv,int na, float s[5],float p[5],int cant);
int main()
{
 char nov[5][30],n,noa[5][30];
 float sueldo[5]={0,0,0,0,0},precio[5];
 int nv,na,cant,i;
 cout<<"prctica 13 problema 2, marco antonio villarreal uribe 1121043"<<endl;
 cout<<" nombre vendedores: "<<endl;
 dtarreglo(nov);
 cout<<" nombre articulos: "<<endl;
 dtarreglo(noa);
 cout<<" Introduce precios de cada uno de los articulos: "<<endl;
 pa(precio);
 do{
 cout<<"numero de vendedor: ";
 cin>>nv;
 cout<<" numero de articulo: ";
 cin>>na;
 cout<<"Cantidad de articulos:";
 cin>>cant;
 sv(nv,na,sueldo,precio,cant);
 cout<<"Desea realizar otro calculo"<<endl;
 cout<<"1)si/2)no ";
 cin>>n;}
 while (n=='1');
 for(i=0;i<=4;i++){
 cout<<" \nVendedor: "<<nov[i]<<endl;
 cout<<" sueldo: "<<sueldo[i];
 getch();}}


void dtarreglo(char a[5][30])
{
int i;
for(i=0;i<=4;i++){
cout<<" Dato "<<(i+1)<<":";
gets(a[i]);}}

void pa(float p[5])
{
int i;
for(i=0;i<=4;i++){
cout<<" precio del articulo "<<(i+1)<<":";
cin>>p[i];}}

void sv(int nv,int na, float s[5],float p[5],int cant)
{
switch (na){
case 1:s[nv-1]=s[nv-1]+p[na-1]*cant*0.05;
break;
case 2:s[nv-1]=s[nv-1]+p[na-1]*cant*0.04;
break;
case 3:
case 4:
case 5:s[nv-1]=s[nv-1]+p[na-1]*cant*0.02;
break;
default: cout<<" error en numero de vendedor ";}}








void dtarreglo(char a[5][30])
void pa(float p[5])
void sv(int nv,int na, float s[5],float p[5],int cant)
int main()
{
  nov[5][30],n,noa[5][30] CHAR
  sueldo[5]={0,0,0,0,0},precio[5] REAL
  nv,na,cant,i  INT
  PRINT "prctica 13 problema 2, marco antonio villarreal uribe 1121043"
PRINT" nombre vendedores: "
 dtarreglo(nov)
PRINT" nombre articulos: "
 dtarreglo(noa)
PRINT" Introduce precios de cada uno de los articulos: "
 pa(precio)
 do{
PRINT"numero de vendedor: "
READ nv
  PRINT " numero de articulo: "
 READ na
  PRINT "Cantidad de articulos:"
  READ can
 sv(nv,na,sueldo,precio,cant);
  PRINT "Desea realizar otro calculo"<<endl;
  PRINT "1)si/2)no ";
READn;}
 while (n=='1');
 for(i=0 to 3 step ;i++)
{
  PRINT " \nVendedor: ",nov[i]
  PRINT  " sueldo: ",sueldo[i]
 getch() }}


void dtarreglo(char a[5][30])
{
  i INT
for(i=0 to 3 step ;i++){
PRINT" Dato ",(i+1),":";
READ a[i] }}

void pa(float p[5])
{
  i INT
for(i=0 to 3 step ;i++)
{
PRINT" precio del articulo ",(i+1),":";
READ p[i]  }}

void sv(int nv,int na, float s[5],float p[5],int cant)
{
switch (na)
{
case 1:s[nv-1]=s[nv-1]+p[na-1]*cant*0.05
break;
case 2:s[nv-1]=s[nv-1]+p[na-1]*cant*0.04
break;
case 3:
case 4:
case 5:s[nv-1]=s[nv-1]+p[na-1]*cant*0.02
break;
default:  PRINT " error en numero de vendedor " }}





Problema 3
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
float datosiniciales (char cl [3][30], float salcial[3]);
float movs(float s, float m[20], char cl[3][30], float salcial[3],int numcl);
int main()
{
float s=0;
char cl [3][30];
float salcial[3],t;
float m[20];
int numcl,sig;
datosiniciales(cl,salcial);
do
{
cout<<"Numero de cliente: ";
cin>>numcl;
s=salcial[numcl-1];
t=movs(s,m, cl, salcial, numcl);
cout<<"Saldo Final: "<<t<<endl;
cout<<"Desea introducir otro cliente(si=1,no=0): ";
cin>>sig;
}
while(sig==1);
getch();
}

float datosiniciales (char cl [3][30], float salcial[3])
{
int i;
cout<<"Iniciar datos Cliente "<<endl;
for(i=0;i<3;i++)
{
cout<<"Nombre Cliente "<<i+1<<": ";
cin>>gets(cl[i]);
cout<<"\nSaldo Inicial "<<i+1<<": ";
cin>>salcial[i];
cout<<endl;
}
return salcial[i];
}


float movs(float s, float m[20], char cl[3][30], float salcial[3],int numcl)
{
int i=0,m1=0;
do
{
cout<<"Movimiento [-/+ |retiro/deposito]"<<(i+1)<<": ";
cin>>m[i];
i++;
}
while ((m[i-1]!=0)&&(i<<20));
for(i=0;i<20;i++)
{
if((s<m[i])&(m[i]<0))
{
cout<<"Error. Saldos Insuficientes."<<endl;}

else
{s=s+m[i];}
}
cout<<"Estado de cuenta "<<endl;
cout<<"Nombre: "<<(cl[numcl-1])<<endl;
cout<<"Saldo Inicial: "<<(salcial[numcl-1])<<endl;
cout<<"Movimiento   Deposito\tRetiro\tSaldo\n"<<endl;
int y=0;
do
{
cout<<(y+1)<<"\t\t";
if (m[y]>0)
{cout<<" + \t\t";}
else
{cout<<"\t - \t";}
cout<<(m[y])<<"\n\n";
y++;
}
while ((m[y]!=0)&&(y<20));
return (s);
}




float datosiniciales (char cl [3][30], float salcial[3])float movs(float s, float m[20], char cl[3][30], float salcial[3],int numcl)int main()
{
  s=0 REAL
 cl [3][30] CHAR
salcial[3],t REAL
 m[20] REAL
  numcl,sig  INT
datosiniciales(cl,salcial);
do
{
PRINT"Numero de cliente: "
READ numcl
s=salcial[numcl-1]
t=movs(s,m, cl, salcial, numcl)
PRINT"Saldo Final: ",t
PRINT"Desea introducir otro cliente(si=1,no=0): "
READsig;
}
while(sig==1)
getch();
}

float datosiniciales (char cl [3][30], float salcial[3])
{
  i  INT
PRINT"Iniciar datos Cliente "
for(i=1 to 4 step;i++)
{
PRINT"Nombre Cliente ",i+1,": "
READgets(cl[i])
PRINT"\nSaldo Inicial ",i+1,": "
READ>salcial[i]
PRINT endl
}
return salcial[i];
}


float movs(float s, float m[20], char cl[3][30], float salcial[3],int numcl)
{
  i=0,m1=0  INT
do
{
PRINT"Movimiento [-/+ |retiro/deposito]"<<(i+1)<<": ";
READ m[i]
i++;
}
while ((m[i-1]!=0)&&(i<<20));
for(i=0;i<20;i++)
{
if((s<m[i])&(m[i]<0))
{
PRINT "Error. Saldos Insuficientes."<<endl;}

else
{s=s+m[i] }
}
PRINT"Estado de cuenta "
PRINT"Nombre: ",(cl[numcl-1])
PRINT"Saldo Inicial: ",(salcial[numcl-1])
PRINT"Movimiento   Deposito\tRetiro\tSaldo\n"
  y=0 INT
do
{
PRINT (y+1),"\t\t";
if (m[y]>0)
{PRINT" + \t\t" }
else
{PRINT<"\t - \t" }
PRINT(m[y]),"\n\n";
y++;
}
while ((m[y]!=0)&&(y<20));
return (s);
}
 


No hay comentarios:

Publicar un comentario