Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Variables aleatorias

Estas en el tema de Variables aleatorias en el foro de C/C++ en Foros del Web. Buenas! tengo este programa para calcular el números PI (apartir de la expresion: PI=6*arctan(1/raiz de 3) que les he copiado, y ahora me piden que ...
  #1 (permalink)  
Antiguo 13/01/2011, 12:25
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Variables aleatorias

Buenas! tengo este programa para calcular el números PI (apartir de la expresion: PI=6*arctan(1/raiz de 3) que les he copiado, y ahora me piden que fije la precisión de las variables en 10 valores distintos de 100 a 2000. Y para cada uno de esos valores pruebe 10 valores distintos del número de iteraciones (entre 100 y 1000).
Sinceramente, no se ni por donde empezar, estoy atascada, no se como enlazarlo, ojalá podais ayudarme u.u



#include <iostream>
#include <gmp.h>
#include <gmpxx.h>

mpf_class CalcularRaiz(mpf_class x, int n);
mpf_class CalcularPotencia(mpf_class x, int n);
mpf_class CalcularAtan(mpf_class x, int n);
mpf_class CalcularPI(int n);

using namespace std;

// Función para calcular la raíz cuadrada de x usando el algoritmo
//babilónic.Recibe el valor de x y el número de iteraciones a realizar
mpf_class CalcularRaiz(mpf_class x, int n)
{
int i;
mpf_class r, t;
r=x;
t=0;

for(i=0; i<n;i++)
{
t=r;
r=(x/r + r)/2;
}
return r;
}


//Función para calcular la potencia de un real
//recibe la base real y el exponente entero
mpf_class CalcularPotencia(mpf_class x, int n)
{
int i;
mpf_class prod;

prod=1.0;
for(i=1; i<=n; i++)
prod*=x;

return prod;
}

//Función para calcular la arcotangente de x usando la serie de Gregory
//recibe el valor de x y el número de iteraciones
mpf_class CalcularAtan(mpf_class x, int n)
{
int i, num;
mpf_class suma;

suma=0.0;
for(i=1; i<=n; i++)
{
num=2*i-1;
if(i%2==0) suma-=CalcularPotencia(x,num)/num;
else suma+=CalcularPotencia(x,num)/num;
}
return suma;
}

//Función para calcular el valor PI, recibe el número de iteraciones
mpf_class CalcularPI(int n)
{
return 6*CalcularAtan(1/CalcularRaiz(3,n), n);
}

int main(void)
{
int n,c,k,i;
mpf_set_default_prec(400); //Fijo la precisión a 400 bits
mpf_class valor;

//Pido el número de iteraciones a realizar en los cálculos
cout<<"Número de iteraciones: ";
cin>>n;

valor=CalcularPI(n);

//Escribo el resultado obtenido
cout.precision(200);
cout<< "Valor de PI calculado: "<<valor<<endl<<endl;
system("pause");
return 0;
}
  #2 (permalink)  
Antiguo 13/01/2011, 15:20
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 18 años, 5 meses
Puntos: 2
Respuesta: Variables aleatorias

hola, con la funcion, random puedes configurarlo para que te saque un numero aleatorio entre esos dos numeros que quieras, simplemente lo pones dentro de un bucle para que lo repite 10 veces, y los numeros aleatorios los vas guardando por ej en un array segun la vuelta de bucle que va.
__________________
Twitters de famosos

Etiquetas: variables, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.