Apostar y ganar

Click Now!

domingo, 19 de mayo de 2013

Ejemplo de programa en c de Estadísticas,moda ,promedio, varianza y algunos mas


Estadistcas en c


MEDIDAS DE TENDENCIA CENTRAL
#include<iostream.h>
#include<math.h>
  #define tam 100
  #include<conio.h>
  #include<stdio.h>
  #include<string.h>
  #define MaxPass 10

int i,j=0,dat[100],m;
char b[250];
float geometrica(float f[],float ve[], int M,int m)
{int tt,tti,g=0,gi=0;
float gg=0,b,ggi=0,bi;
float  geo=0,go=0;
float   or,ord;

for(i=0;i<M;i++)
{

geo=f[i]*log10(ve[i]);
g=int(geo*1000);
gg=g/10;
b=int(gg+1);

tt=g%10;

if(tt>=5)
{geo=b/100;

}else
geo=gg/100;
go+=geo;}
or=go/m;
gi=int(or*1000);
ggi=gi/10;
bi=int(ggi+1);

tti=gi%10;
if(tti>=5)
{or=bi/100;

}else
or=ggi/100;
ord=pow(10,or);
return ord;

}

void frecuencia(int Li[], int Ls[], float f[], int dat[], int m,int M)
{
for(i=0;i<M;i++)
{for(j=0;j<m;j++)
{ if(i!=M-1)
{
if(dat[j]>=Li[i]&&dat[j]<Ls[i])
{f[i]+=1;}
}else
if(dat[j]>=Li[i]&&dat[j]<=Ls[i])
{f[i]+=1;}
}
}
}

void ingreso()
{
int a=0;
  do{
  cout<<"Ingrese numero de datos::";
  cin>>m;
  }while(m<1||m>tam);
clrscr();
cout<<"Ingrese los\""<<m<<"\"datos:\n";
cout<<"-----------------";
for(i=1;i<m;i++)
{
for(j=0;j<15;j++)
{

gotoxy(5*j,2*i);
cin>>dat[a];
a++;
if(a==m){j=15;i=m;
}

}

}
}

void ordenar()
{ int aux;
for(i=0;i<m-1;i++)
{for(j=i+1;j<m;j++)
if(dat[i]<dat[j])
{aux=dat[i];
dat[i]=dat[j];
dat[j]=aux;
}
}
}


void titulo ()
{
cout<<"Titulo:\n";

gets (b);
clrscr();
}

void main()
{
float prom=0,d,s=0,ar=0,de,mediana;
float ni,nig,x,f[100],Fi=0,ve[100];
float Med[20],Me,moda,z,v,bb;
int poss,p,pos,d1,d2,Ls[100],c,aux,r,n,t=0,Li[100],M;
char op,Password[MaxPass],LetPass;

clrscr();
cout<<"\n\n ALUMNO:MALPARTIDA AREVALO NIGEL R:***\n";
cout<<"\n\n     MEDIDAS DE TENDENCIA CENTRAL\n";
cout<<"\n      ******** MENU ******************\n";
cout<<"      *                           *\n";
cout<<"      *   1. MEDIDAS DE RESUMEN     *\n";
cout<<"      * ==>La mediana         *\n";
cout<<"      * ==>La moda                 *\n";
cout<<"      * ==>El promedio             *\n";
cout<<"      * ==>La varianza               *\n";
cout<<"      * ==>La desviacion estandar    *\n";
cout<<"      * ==>La media armonica       *\n";
cout<<"      * ==>El coheficiente de variacion*\n";
cout<<"      * ==>Media Geometrica*\n";
cout<<"      **********************\n";
cout<<"      *                    *\n";
cout<<"      *   OPCION :         *\n";
cout<<"      *                    *\n";
cout<<"      **********************\n";
//djnigel_99
gotoxy(20,21);op = getch();
clrscr();
cout<<"INGRESE CONTRASEÑA:\n";
cout<<"-------------------\n";
do
{
LetPass = getch();
if ( LetPass != '\r')
{

{Password[j] = LetPass;
cout<<"*";
Password[j+1] = '\0';
j++;
}
}
}while(LetPass != '\r' && j< MaxPass);

if(strcmp(Password,"20110578")==0)

{
cout<<endl;
cout<<"Acceso permitido al Sistema\n";
cout<<"INGRESE DATOS MAXIMO HASTA 100\n";
cout<<"------------------------------\n";
ingreso();





//ingreso();
ordenar();

n=dat[m-1];
r=dat[0]-n;

M=1+3.3*log10(m);
c=r/M;

clrscr();
ni=n+c;
nig=n;
t=n-c;
titulo();
cout<<"TITULO:"<<endl;
cout<<b;
//cout<<"-----------";
gotoxy(1,6);cout<<"[Li----";
gotoxy(7,6);cout<<"Ls>";
gotoxy(12,6);cout<<"xi";
gotoxy(18,6);cout<<"fi";
gotoxy(23,6);cout<<"Fi";
gotoxy(29,6);cout<<"hi";
gotoxy(39,6);cout<<"Hi";
gotoxy(49,6);cout<<"hi%";
gotoxy(59,6);cout<<"Hi%";

for(i=0;i<M;i++)
{
t+=c;
Li[i]=t;
gotoxy(1,7+i);
cout<<"["<<t<<"----";
f[i]=0;
n+=c;
Ls[i]=n;
gotoxy(7,7+i);
if(i!=M-1)
cout<<n<<">";
else cout<<n<<"]";
}


x=(ni+nig)/2;
for(i=0;i<M;i++)
{

ve[i]=x;
gotoxy(12,7+i);
cout<<x;
x+=c;
}//segunda parte

frecuencia(Li,Ls,f,dat,m,M);

for(i=0;i<M;i++)
{
gotoxy(18,7+i);
cout<<f[i];
Fi+=f[i];
Med[i]=Fi;//para la medinaa
gotoxy(23,7+i);cout<<Fi;

prom+=ve[i]*f[i];
}
//media geometrica

bb=geometrica(f,ve,M,m);
Me=m/2;
d=prom/m;
cout<<endl<<"\t         "<<m   <<"      1   100";

Fi=0;
for(i=0;i<M;i++)
{
gotoxy(29,7+i);cout<<f[i]/m;
Fi+=f[i]/m;
gotoxy(39,7+i);cout<<Fi;
gotoxy(49,7+i);cout<<(f[i]/m)*100;
gotoxy(59,7+i);cout<<Fi*100;

s+=pow(ve[i]-d,2)*f[i];
ar+=f[i]/ve[i];


}

de=sqrt(s/(m-1));


for(i=0;i<M;i++)
{if(Me==Med[i])
{pos=i;
poss=0;
}else
if(Me>Med[i])
p=i;
poss=1;
}
if(poss==1)
{d1=f[p+1]-f[p];d2=f[p+1]-f[p+2];
z=d1+d2;
v=d1/z;
mediana=Li[p+1]+((Me-Med[p])/f[p+1])*c;
moda=Li[p+1]+(v*c);
}else
mediana=Med[pos];

cout<<"\n\n\n";
cout<<"La mediana es:"<<mediana<<"\n";
cout<<"La moda es:"<<moda<<"                           **";cout<<"DATO MAYOR="<<dat[0]<<"\n";
cout<<"El promedio es:"<<d<<"                       **";cout<<"DATO MENOR="<<dat[m-1]<<"\n";
cout<<"La varianza muestral es:"<<(s/(m-1))<<"         **";cout<<"RANGO(R)="<<r<<"\n";
cout<<"La desviacion estandar es:"<<de<<"            **";cout<<"NUMERO DE INTERVALOS(m)="<<M<<"\n";
cout<<"La media armonica es:"<<m/ar<<"             **";cout<<"AMPLITUD(C)="<<c<<"\n";
cout<<"El coheficiente de variacion es:"<<de/d*100<<"%\n";
cout<<"La media geometrica es:"<<bb<<endl;
cout<<endl;
cout<<"MUCHAS GRACIAS POR USAR MI PROGRAMA";
}
if(strcmp(Password,"20110578")!=0)
{cout<<endl;
cout<<"Error...Contraseña Incorrecta\n";
cout<<"Por favor intente nuevamente";
}
}