Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2013, 18:58   #1
Bilymo
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 15
По умолчанию Игла Бюффона на Си

Здравствуйте! Будьте любезны пожалуйста помочь. Я пишу программу, по определению числа пи, при условии x<=l*sin(θ), где 0<θ<pi, 0<x<l - эта проекция угла θ, а l - единичная длина иглы
Код:
#include <stdio.h>
#include <omp.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<iostream>
 
int main()
{
    int a,l,n,m;
double p,val,pi,x,fi,eps;
double mp;
x=1;
l=1;
srand(time(NULL));
pi = 4 * ((double)atan(1.0));
for(int i = 0; i < 10; ++i)
{
mp = (double)(rand()%22)/7;
printf("%f \n",mp);
}
eps=0.01;a=1;l=1;
printf("dsds \n");
do
{
fi=(double)(rand()%22)/7;
n=n+1;
if (x<=l*sin(fi))
{
m=m+1;
p=(2*n/m);
}
printf("steps %d pi: %e \n",m,p);
}
while(fabs(p-pi)<eps);
 
 
getche();
}
Диагноз: неверный результат, и есть ли библиотечная переменная может быть, в которой затабулировано исходное число пи? Ни где этого не нашёл

Последний раз редактировалось Bilymo; 08.03.2013 в 21:04.
Bilymo вне форума Ответить с цитированием
Старый 08.03.2013, 19:13   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Число Пи есть в math.h - M_PI. Насчет неверного подсчета не помогу (лень разбираться в теории). Не забывайте оформлять код кнопочкой решетка #.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.03.2013 в 19:30.
BDA на форуме Ответить с цитированием
Старый 08.03.2013, 21:08   #3
Bilymo
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 15
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Число Пи есть в math.h - M_PI. Насчет неверного подсчета не помогу (лень разбираться в теории). Не забывайте оформлять код кнопочкой решетка #.
Проблема ещё заключается в том, что оператору rand()%M_PI нельзя вроде задать нецелый тип... а тут никакой заумной теории нету, условие должно быть правильно..., как я портировал с паскаля. Но вот проблема с rand....
Кстати, если rand()%M_PI - необъявленный индентификатор

Последний раз редактировалось Bilymo; 08.03.2013 в 21:12.
Bilymo вне форума Ответить с цитированием
Старый 08.03.2013, 23:51   #4
Bilymo
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Bilymo Посмотреть сообщение
Проблема ещё заключается в том, что оператору rand()%M_PI нельзя вроде задать нецелый тип... а тут никакой заумной теории нету, условие должно быть правильно..., как я портировал с паскаля. Но вот проблема с rand....
Кстати, если rand()%M_PI - необъявленный индентификатор
решил вообщем с http://stackoverflow.com/questions/1...ffons-needle-c
Bilymo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск