Форум программистов, компьютерный форум CyberForum.ru

Вычисление числа Пи методом Монте-Карло - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ компиляция http://www.cyberforum.ru/cpp-beginners/thread688994.html
моя программа компилирует код которого уже нет! что делать?
C++ В каком квадранте находится точка (x, y) ? помогите написать программу в С++ в каком квадранте находится точка (x, y) и вывести номер квадранта. http://www.cyberforum.ru/cpp-beginners/thread688992.html
Класс фигура c++ C++
Класс "фигура": координаты на шахматной доске, цвет. Метод - "ход" на одну позицию в одном из 4 направлений. Производные: "конь", "пешка" (порядковый номер, или своя половина поля), "ферзь" - со своими методами "ход" и "удар".
C++ Программа с матрицами: с квадратную (n x n) работает нормально, а с m x n с выдаёт ошибку
Задание: Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент, и номер столбца, в котором находится самая длинная серия одинаковых элементов. Проблема: Если вводишь матрицу n*n т.е. квадратную,то все работает, а если m*n то вылезает ошибка. Помогите исправить. // 23.cpp: определяет точку входа для консольного приложения. // ...
C++ Удаление слова после запятой из строки, упростить программу http://www.cyberforum.ru/cpp-beginners/thread688973.html
Я написал программу для удаления одного слова после запятой, но она получилась очень громистка! Как ее можно записать проще, но чтобы так же работала? #include <conio.h> #include <string.h> #include <iostream.h> using namespace std; void deletes(char *str, int pos); int main(){ char str = {}; cin.get(str,200); for (int i = 0; i < strlen(str); i++)
C++ Чтение массива из файла Нужно сделать так, что бы массив читался из файла #include <iostream> #include <cstring> #include <ctime> #include <cstdlib> class TGoods подробнее

Показать сообщение отдельно
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
06.11.2012, 13:28  [ТС]     Вычисление числа Пи методом Монте-Карло
-=ЮрА=- спасибо огромное за ответ, сделал как ты советуешь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<cstdio> 
#include<cmath>
#include <ctime>
#include<cstdlib> 
#include <cstdio>
#define limit_Nmax 1e7 //Максимальное количество точек
#define limit_a 1e6 //Максиальный радиус круга
#define min_a 100 //Начальный радиус
 
double circle(double, double); //Выдает квадрат Y в зависимости от координаты Х и радиуса круга.
 
int main() 
{ 
srand(time(0));
double x,y,Pi; 
long long int a=min_a;//сторона квадарата
int i=0;//Счетчик 
double Ncirc=0;//Количество точек, попавших в круг 
double Nmax=a; //Общее количество точек
while (a<limit_a)  //Перебор  значений радиуса
{ 
Nmax=a; 
 while (Nmax<=limit_Nmax) // Перебор значения количества точек
 { 
 Ncirc=0; i=0; //обнуляторы
    while (i<Nmax) 
    { 
    x = (rand() % (a * 1000))/1000;  //Рандомный Х с 3 знаками после запятой
    y = (rand() % (a * 1000))/1000;  //Рандомный Y с 3 знаками после запятой
        if (y*y<=circle(x,(a/2)))  //Условие принадлежности точки к кругу
        { 
        Ncirc++; 
        } 
    i++; 
    } 
 
 Pi=(Ncirc/Nmax)*4; 
 Nmax *= 2; 
 printf("\n%lld, %.0f, %f",a,Nmax,Pi); 
 } 
a*=2; 
} 
 
} 
 
double circle(double x, double radius) 
{ 
double y=radius*radius-x*x; 
return y; 
}
Но программа все равно не правильно работает???? Она должна выводить число Pi с пятью знаками после запятой, а она выводит левое число совсем не похожее на Pi ????? В чем ошибка?????? Заранее огромное спасибо.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru