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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Новичок программировании GUI приложений http://www.cyberforum.ru/cpp-beginners/thread688922.html
Здравствуйте. Посоветуйте, что лучше для начинающего в программировании GUI приложений, изучать библиотеки (WinAPI или т.п) или программирование в RAD системе?
C++ Изменение значения private поля в c++ При желании такое можно провернуть в c# (ну только естественно не на уровне объекта). Поэтому и возник такой вопрос. Ощущение что подобное возможно только в дин. языках. В общем быстрый гуглинг ничего не дал. http://www.cyberforum.ru/cpp-beginners/thread688620.html
Сборка библиотеки и ошибка "fatal error LNK1149: имя выходного файла совпадает с именем входного файла" C++
при сборке библиотеки возникает такая ошибка LINK : fatal error LNK1149: имя выходного файла совпадает с именем входного файла, объясните что не так.
Выписать четные биты C++
Рассматривая исходный файл как последовательность битов, записать в новый файл только четные биты (должна получиться последовательность из нулей и единиц). Вот здесь код записи в файл, и перевода в двоичную систему, вот только не знаю, как выписать четные биты: #include "stdafx.h" #include "file.h" using namespace std; FILE *f1,*f2; Chetnie::Chetnie()//инициализация переменных {
C++ Программирование неуправляемого кода для 64 разрядных систем Windows http://www.cyberforum.ru/cpp-beginners/thread688113.html
Долго мучился. Код начал работать, когда я применил типы Uint32 и UintPtr. Причем UintPtr пришлось применять для всех указателей, где раньше я применял Int32. Может быть есть у кого еще опыт?
C++ Ввод только букв и цифр возможно ли в данном случае разрешить ввод цифр тоже? и правильно ли я понимаю, что isdigit() здесь не уместен? do{ cout<<"Enter word:"<<endl; cin>>word; }while(!isAlphaString(word)); cout<<"you entered: "<<endl; cout<<word<<endl; сама функция, для проверки слова bool isAlphaString (std::string &str) подробнее

Показать сообщение отдельно
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 636
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 ????? В чем ошибка?????? Заранее огромное спасибо.
 
Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru