martes, 13 de octubre de 2009

Media, moda, varianza, desviación estandar, desviación media

#include "iostream.h"
#include "conio.h"
#include "math.h"
void main()
{
   int V[50], N[50], Rep[50];
   int i, j, k, total, indice, elementos, existeModa,n;
   float suma, suma2, media, varianza, desv_estandar, desv_media;
   cout<<"Numeros de datos que desea introducir: ";
   cin>>n;

   clrscr();
   for(i=1; i<=n; i++)
   {
      cout <<"Valor"<<i<<"= ";
      cin >> V[i];
       suma=suma+V[i];
       suma2=suma2+(V[i]*V[i]);
   }


   // Saca copia del arreglo
   for(i=1; i<=n; i++)
      N[i]=V[i];

   elementos = n;
   total = elementos;
   for(i=1; i<=elementos; i++)
   {
      for(j=i+1; j<=elementos; j++)
      {
                      if(N[i]==N[j])
           {
             
               for(k=j+1; k<=elementos; k++)
                    N[k-1]=N[k];

               elementos--;
                j--;
           }
      }
   }

 
   for(i=1; i<=elementos; i++)
       Rep[i] = 1;
   for(i=1; i<=elementos; i++)
       for(j=1; j<=total; j++)
           if(N[i]==V[j])
          Rep[i]++;

   indice = 0;
   for(i=1; i<=elementos; i++)
      if(Rep[i]>Rep[indice])
         indice = i;

      existeModa=1;
    for(i=1; i<=elementos; i++)
        if(i!=indice)
        {
           if(Rep[i]==Rep[indice])
           {
              existeModa = 0;
              break;
            }
        }

     if(existeModa==1)
     {
        cout<<"\n\nModa= "<<N[indice];
     }
     else
    cout<<"No existe moda";

  media=suma/n;
  cout<<"\n\nMedia= "<<media
<<"\n";

  varianza=((n*suma2)-(suma*suma))/(n*(n-1));
  cout<<"\n\nVarianza= "<
<varianza;

  desv_estandar=sqrt(varianza);
  cout<<"\n\nDesviación estandar= "<
<desv_estandar;

  desv_media=((suma2)-(suma*suma))/n;
  cout<<"\n\nDesviación media= "<
<desv_media;

     getch();
}

12 comentarios:

Anónimo dijo...

Esta mal la moda

Anónimo dijo...

nadamas la moda? :S
me da unos valoes bn lokos d desviacionstandar :S

Anónimo dijo...

si loco eso esta malo

Anónimo dijo...

en el error komo kedaria ya resuelto. ???

Unknown dijo...

Pon uno de como sacar la mediana en un vector :3 pliss!

Unknown dijo...
Este comentario ha sido eliminado por el autor.
José Luis Pérez Olguín dijo...

Chicos, con esta página me guie para informarme de como calcular la varianza (espero haberlo hecho bien).

https://es.plusmaths.com/como-calcular-la-varianza-en-estadistica.html

Y aqui esta mi codigo en C++ de como hice el programa, la verdad lo considero "mal hecho" ya que uso memoria estatica en una variable :/
Pero almenos les puede ayudar para sacarlos de un apuro xD

#include
#include
#include

float x,media,sumatoriamedia,sumatoriavarianza,v[100],varianza,n;
int i=1;
char ciclo;

main(){
printf("Calcula la media\n\n");
do{
printf("x%d = ",i);
scanf("%f",&x);
v[i]=x;
sumatoriamedia+=x;
i++;
printf("Otro[S][N]\n");
ciclo=getch();
scanf("%[^\n]",&ciclo);


}while(ciclo=='s'||ciclo=='S');
n=i-1;
media=sumatoriamedia/float(i-1);


for(i=1;i<=n;i++){
sumatoriavarianza+=pow(v[i]-media,2);
}

varianza=sumatoriavarianza/float(i-1);

printf("\nX = %.4f\n",media);
printf("\nVarianza = %.4f\n",varianza);

}

Anónimo dijo...

ta mal todo alv XD

桜浅葱 dijo...
Este comentario ha sido eliminado por el autor.
桜浅葱 dijo...

Sólo le faltó agregar las librerías al de arriba, son:
stdio.h
conio.h
math.h

Anónimo dijo...

como se saca

Anónimo dijo...

alguien me puede decir como se saca la desviación estándar

Publicar un comentario