С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Метод Монте-Карло(непонятная неработоспособность программы) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Множества (найти их объединение) http://www.cyberforum.ru/cpp-beginners/thread716634.html
Решаю задачу: ввести н-ое количество множеств и найти их обьединение. Объединение это новое множество в состав которого входят элементы первого второго и n-го множества, если элементы в множествах...
C++ Вывести таблицу умножения чисел от 11 до 20 Вывести таблицу умножения чисел от 11 до 20 в программе С++ http://www.cyberforum.ru/cpp-beginners/thread716630.html
C++ Немогу найти ошибку в коде
Задание:Распечатать фамилии тех учеников, которые не получили ни одной тройки за последнюю четверть. В каких классах учатся эти ученики? Каков их средний балл? При...
C++ Динамическое программирование (Определить оптимальный план производства)
Предприятие выпускает 4 вида продукции, используя два вида сырья в пределах выделенных фондов В1 и В2. Нормы расхода сырья на единицу продукции приведены в табл. Сырье Нормы расхода на единицу...
C++ программа на ввод числа и ввывод информации http://www.cyberforum.ru/cpp-beginners/thread716602.html
нужно составить программу "ввести номер месяца и вывести название месяца и номер квартала" через команду if у меня получилось такое, но когда ввожу номер всегда выводит январь. помогите найти...
C++ Организовать очередь (заполнение, добавление, нахождение среднего арифметического) Организовать очередь, заполнить ее случайными числами и сделать функции добавления в очередь и нахождения среднего арифметического чисел записанных в очередь и их количества. Величина очереди заранее... подробнее

Показать сообщение отдельно
Mefodiy
1 / 1 / 0
Регистрация: 21.04.2012
Сообщений: 46

Метод Монте-Карло(непонятная неработоспособность программы) - C++

02.12.2012, 19:00. Просмотров 642. Ответов 5
Метки (Все метки)

Написал программу, которая вычисляет интеграл методом Монте-Карло. Вроде как код проверял, перепроверял и должно быть всё верно. Но при указывании кол-ва точек >7000 программа не работает, то есть зависает. А если, к примеру, указать кол-во точек 10000, то выбивает с ошибкой "Divide error". С чем это связано не пойму.
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
class method{
    public:
        double allsumm(double *x,int n);
        void createrand(double *x,int n);
};
double method::allsumm(double *x,int n){
    double temp=0;
    for(int i=0;i<n;i++){
        temp+=sqrt(pow(x[i],4)-pow(x[i],3)+8);
    }
    return temp;
}
void method::createrand(double *x,int n){
    for(int i=0;i<n;i++){
        x[i]=0.0001*(rand()%30001);
    }
}
void main(){
clrscr();
double a=0,b=3.2,temp;
unsigned long int n;
double *x;
method MonteKarlo;
cout<<"Vvedite koli4estvo to4ek ";
cin>>n;
x=new double[n];
/*cout<<"Vvedite interval\n a: ";
cin>>a;
cout<<"b: ";
cin>>b;*/
MonteKarlo.createrand(x,n);
temp=MonteKarlo.allsumm(x,n);
cout<<"Summ= "<<temp;
cout<<"\nI= "<<((b-a)*temp)/n;
 
getch();
}
Добавлено через 25 минут
Так всё сложно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.