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

Найти объём сферы методом Монте-Карло и определить точность - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функции создания массива, сортировки и вывода. Ошибка Incompatible type conversion http://www.cyberforum.ru/cpp-beginners/thread1101131.html
Доброе утро) Подскажите пожалуйста в чем ошибка. Задача: Создать массив n*m (ввод пользователем). Написать функции создания массива, сортировки и вывода. Все функции есть только в двух местах ошибка Incompatible type conversion в функции generateArr и bubbleSort в строке outArr(arr, MAXM,MAXN); Помогите пожалуйста #include <iostream.h> #include <conio.h> #include <stdio.h> #include...
C++ Доступ к элементам динамического массива из структур Всем доброго времени суток! Проблема вот какая. Есть вот такой вот код. #include "stdafx.h" #include <iostream> #include<string> struct CandyBar { std::string name; double ves; int kalorii; http://www.cyberforum.ru/cpp-beginners/thread1101115.html
В консоли вместо русского языка выводятся вопросительные знаки C++
Столкнулся с такой проблемой. В консоли вместо русского языка выводятся вопросительные знаки (???? ?? ??). setlocale(LC_ALL, "Russian"); написал, всё как положено. В чем может быть проблема? P.S. Windows 8.1 на английском (может из-за этого?). Спасибо.
C++ Разработать класс вектор
Если в задании требуется разработать класс, то он должен включать: - компоненты данные - методы: а) конструктор по умолчанию; б) конструктор с параметрами; в) конструктор копирования; г) деструктор; д) методы класса для работы с данными. Компоненты данные класса должны иметь атрибут private или protected (в зависимости от необходимости).
C++ Создать структуру, реализующую очередь целых чисел типа FIFO http://www.cyberforum.ru/cpp-beginners/thread1101078.html
Помогите пожалуйста как будет выглядеть программа : создать структуру , реализующую очередь целых чисел типа FIFO . данные структуры : массив очереди , указатели на начало очереди , и на конец очереди. создать функции : запись в начало очереди, чтение конца очереди. п.с. буду оч благодарен !
C++ Легкая и быстрая библиотека для распознавания текста на картинке Добрый день. Подскажите легкую и быструю библиотеку для распознавания текста на изображении. Текст простой, не искаженный. Картинка - это скрин экрана пк с выведенным в определенном окне текстом. За ранее благодарю. подробнее

Показать сообщение отдельно
wingblack
251 / 226 / 33
Регистрация: 09.04.2013
Сообщений: 848
20.02.2014, 14:43     Найти объём сферы методом Монте-Карло и определить точность
1)
найти длинны сторон по координатам вершин, определять тип треугольника по свойствам: равнобедренный имеет две равные стороны, равносторонний - все стороны равны, прямоугольный - либо через формулу о квадратах катетов и гипотенузы либо через формулу скалярного произведения в декартовых координатах(если угол между двумя векторами по точкам равен 90 градусов, то следовательно сумма от произведения соответствующих координат векторов должна равняться нулю)
2)
Напомню суть метода Монте-Карло - тыкаем произвольно в точки ограниченного пространства, считаем сколько раз попали внутрь искомой фигуры, и сколько попыток всего. По результатам у нас выйдет что объем искомой фигуры относится к объему всей области также как число удачных попыток к общему число
http://www.cyberforum.ru/cgi-bin/latex.cgi?Vsphere = \frac{hits}{total}Vcube
Итак, ограничиваем область "тыканья" кубом со шириной 2R (чтобы вписалась сфера)и центром в начале координат
Центр сферы тоже поставим в начало координат для простоты вычислений
Напомню параметрическое уравнение сферы c центром в начале координат
http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}+{y}^{2}+{z}^{2} = {R}^{2}
Соответственно попадание внутрь сферы определяется по формуле
http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}+{y}^{2}+{z}^{2} < {R}^{2}
Объем сферы:
http://www.cyberforum.ru/cgi-bin/latex.cgi?V = \frac{4}{3}\pi {R}^{3}
За погрешность возьмем (по модулю) разницу чисел вычисленных по формуле и по методу Монте-Карло

Словесное описание алгоритма:

Код
удачные попытки = 0
Для i от 1 до количества попыток
 x = произвольное число он -R до R
 y = произвольное число он -R до R
 z = произвольное число он -R до R
 Eсли  x*x+y*y+z*z <= R*R то
  удачные попытки += 1
объем = (удачные попытки / количество попыток) * (2R*2R*2R)
погрешность = abs(объем - (4/3)*Pi*R*R*R )
Вроде так.

P.S. Если все же рассчитывается на код на С - пишите в соответствующий раздел
 
Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru