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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2019, 17:54   #11
BundesGott
 
Регистрация: 20.12.2018
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
100 / RAND_MAX = 0 всегда, как целое/целое. Вы в моем примере точку не заметили?
Код:
temp = rand() * 100.0 / RAND_MAX;
точку поправил,пересобрал, но все равно проблема в генерации осталась,причем даже если попытаться задать интервал, тот же самый например от 1 до 100
BundesGott вне форума Ответить с цитированием
Старый 10.01.2019, 11:11   #12
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Попробовал - что же это такая за подлая генерация. Увы - на Дельфи, Си лень вспоминать. Все как надо работает в соответствии с теоретически посчитанным результатом.
Код:
procedure TForm1.FormActivate(Sender: TObject);
var a : double ;
begin
   Randomize ; Memo1.Clear ;
   a := 0.98 * 0.97 * 0.95 ;
   Memo1.Lines.Add ( Format ('%8.6f',[a]) ) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: double ; i,n: integer ;
begin
n := 0 ;
for i := 1 to 1000 do
  begin
    a := Random ;  ;
    b := Random ;  ;
    c := Random ;  ;
    if (a>0.02) and (b>0.03) and (c>0.05) then Inc (n) ;
  end ;
Memo1.Lines.Add ( Format ('%6d',[n]) )
end;
0,903070
906
907
890
900
902
902
914
908
910
893
Это если решать простые задачи простыми средствами. Но для красоты можно и усложнить, прикрутить "бантики"
digitalis вне форума Ответить с цитированием
Старый 10.01.2019, 11:17   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от BundesGott Посмотреть сообщение
точку поправил,пересобрал, но все равно проблема в генерации осталась,причем даже если попытаться задать интервал, тот же самый например от 1 до 100
Вы по ссылке сходили? Видите в результате полный набор значений:
Цитата:
62.3559 71.0503 20.1164 84.3194 17.1894 95.5557 2.57779 55.5851 57.0247 89.3288 21.5131 53.9049 20.7419 43.841 12.0486 46.9339 38.2043 25.315 48.3862 14.9673 86.155 48.1793 45.0393 20.9932 98.6501 87.4876 3.49074 13.4738 9.67723 29.5209 56.1511 72.0331 0.571199 ...
?
Показывайте ваш исправленный код или выкладывайте проект.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компьютерное моделирование, моделирование физических процессов. (в Excel ) Dytchi Помощь студентам 0 06.02.2012 15:54
Моделирование Antistas Паскаль, Turbo Pascal, PascalABC.NET 4 05.11.2011 11:22
моделирование voron.kz Помощь студентам 0 15.12.2009 02:07