![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Atreides |
![]()
Сообщение
#1
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
По заданию нужно получить 200 значений в интервале от 1 до 5,4. И вот возник вопросик: Мне нужны случайно сгенерированные числа с заданным диапазоном значений от 1 до 5,4. Я накидал простой генератор, но числа выпадают от 0 до 1, как это поменять? Вот, что у меня получилось:
Код unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation const n=200; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:integer; r,b:real; x:array[1..n] of real; begin b:=2; randomize; for i:=1 to n do begin r:=random; x[i]:=-ln(r)/b; Form1.Memo1.Lines.Add(FloatToStr(x[i])); end; end; end. Сообщение отредактировано: Atreides - 19.03.2007 19:34 -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Malice |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
x:=random*4.4+1;
![]() |
Caranthir |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: ![]() ![]() ![]() |
попробуй
причем, если объявдять в implementation n=200, то еще при старте проги массив заполняется real'ьными числами Сообщение отредактировано: Caranthir - 19.03.2007 20:12 |
Atreides |
![]()
Сообщение
#4
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Суть в том, что мне нужно 200 случайных значений в диапазоне от 1 до 5.4. Причем числа формата с точностью до тысячных (три знака после запятой) для того, что бы точно построить график. А если диапазон от 1 до 3?
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
Lapp |
![]()
Сообщение
#5
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Суть в том, что мне нужно 200 случайных значений ... А если диапазон от 1 до 3? Atreides, тебе же ответил Malice.. Чем тебе не нравится его ответ? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Адель |
![]()
Сообщение
#6
|
![]() Иллюзия мира ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата Причем числа формата с точностью до тысячных (три знака после запятой) что то типо
|
hardcase |
![]()
Сообщение
#7
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Суть в том, что мне нужно 200 случайных значений в диапазоне от 1 до 5.4. Причем числа формата с точностью до тысячных (три знака после запятой) для того, что бы точно построить график. А если диапазон от 1 до 3? Код function RandomBetween(lowBound, highBound: double): double; begin RandomBetween := Random() * (highBound - lowBound) + lowBound; end; Сообщение отредактировано: hardcase - 20.03.2007 19:18 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Atreides |
![]()
Сообщение
#8
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Снова столкнулся с проблемой генератора чисел. Нужен генератор случайных чисел с равномерным распределением. В заданных диапазонах значений.
Сообщение отредактировано: Atreides - 6.11.2007 18:09 -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 2:52 |