Programa de pinto

Ver el tema anterior Ver el tema siguiente Ir abajo

Programa de pinto

Mensaje por Leo el Sáb Abr 02, 2011 9:59 pm

Aki esta mi version del programa de pinto k kalkula la media y la varianza a partir de N y la probabilidad, los kalkula todos los 50 de un jalon solo tengo un problema si alguien podria ayudarme o darme ideas de komo akomodarlos para k sea de forma uniforme.
P.S Si encuentro la solucion los subire mas alrato las sugerencias siempre son bienvenidas.
Spoiler:
Código:

#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
float factorial(int);
float comb(int, int);
float binomial(int, int, float);
void main( void)
   {

    int n,i,j,k;
    float p, sum, sum2,x1;
    clrscr();
    printf(" Calcula la media y la varianza");
    for (j = 1; j <= 50; j++)// ciclo k se repite 50 veces
    {
    x1 = rand()/32768.0; // valor k se utilizara para kalkular el valor de n
    n = 1 + (int)(17 * x1);// valor k se utilizara komo n
    printf("N es %i  ",n); // imprime n
    p = rand()/32768.0;  // calcula aleatoriamente el valor de p

    /* Lo demas kreo k es igual k a lo de pinto a excepcion de unos
     * pequenios cambios k le hize por komodidad mia xD */
    printf("P es %.3f ",p);
    sum = 0;
    sum2 = 0;
    for ( i = 0 ; i <= n; i++)
      {
       sum = sum + i * binomial( i, n, p);
       sum2 = sum2 + i * i * binomial(i, n, p);
      }

    printf ("La media es %f ", sum);

    printf ("La varianza %f \n", sum2 - sum * sum);

   }
   getch();
}
float factorial ( int x)
   {
    float y = 1;
    int i;
    for ( i = 1 ; i <= x; i++)
      y = y * i;
    return y;
   }
float comb ( int n, int r)
   {
    float y;
    y = n - r;
    return ( factorial (n) / (factorial (r) * factorial ( y)));
   }
float binomial (int i, int n, float p)
   { float x, y;
    x = 1 - p;
    y = n - i;
    return ( comb(n,i) * pow ( p , i) * pow ( x, y));
   }



Leo
Sabe programar
Sabe programar

Mensajes : 12
Fecha de inscripción : 18/02/2011

Volver arriba Ir abajo

Re: Programa de pinto

Mensaje por GoOrK el Mar Abr 05, 2011 12:31 am

Ok, buen programa, para hacer un rand que cambie respecto al tiempo, falta declarar el tiempo de la siguiente forma

Código:
srand((unsigned) time(NULL));

y posteriormente darle a una variable los valores de rand separando con un "%" para el rango de valores

Código:
x = rand()%28 //Donde los numeros llegaran hasta el 28 solamente

Y un ejemplo de una impresion de numeros aleatorios es este.

Código:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void main()
{
   int i=0;
   srand((unsigned) time(NULL));
   clrscr();
   for(i=1;i<=10;i++)
   {
      printf("\nel numero es %i",rand()%15); //Imprimimos 10 numeros aleatorios sin pasarse del 15
   }
   getch();
}


_________________

GoOrK
Admin
Admin

Mensajes : 53
Fecha de inscripción : 18/02/2011
Edad : 24

http://goorkuabcinc.activo.ws

Volver arriba Ir abajo

Re: Programa de pinto

Mensaje por Leo el Mar Abr 05, 2011 10:39 pm

Es todo grazias... ya kon eso kasi keda kompleto. bounce

Leo
Sabe programar
Sabe programar

Mensajes : 12
Fecha de inscripción : 18/02/2011

Volver arriba Ir abajo

Re: Programa de pinto

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.