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

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
_baal_
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 104
#1

Случайные числа - Delphi

29.07.2015, 17:05. Просмотров 501. Ответов 3
Метки нет (Все метки)

Хотел спросить про генератор случайных чисел в Delphi 7 .
У меня на форме есть кнопка и Мемо при нажатии на кнопку в Мемо пишется случайное число от 11 до 21.

Delphi
1
2
3
Randomize;
A:=Randomrange(11,21);
sMemo1.Lines.add('Число '+IntToStr(A));
Проблема в том что эти числа повторяются.Как исправить это?

Delphi
1
2
3
4
Randomize;
A:=Randomrange(11,21);
if sMemo1.Lines.IndexOf( IntToStr( A ) )=-1 then
 sMemo1.Lines.add('Число '+IntToStr(A));
такой вариант не помог числа все равно повторяются.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2015, 17:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Случайные числа (Delphi):

Записать в Memo случайные числа, и при нажатии кнопки удалить все нечетные числа - Delphi
Здравствуйте! Помогите, пожалуйста, с заданием: нужно при создании формы в компонент Memo записать от 10 до 50 случайных чисел в диапазоне...

Случайные числа - Delphi
Массив размерность 4х4 заполнить случайными числами в интервале . Вычислить сумму и произведений кратных 3-м элементов.Вывести В...

Случайные числа с условием их повторений - Delphi
Здравствуйте. Подскажите пожалуйста примером кода, не могу сообразить... Надо добавлять рандомно в Мемо1 числа от 1 до 30 (интервал...

Случайные числа без повторений - Delphi
Ребятушки, подскажите пожалуйста. Есть i1:=RandomRange(1,100); i2:=RandomRange(1,100); Как мне решить задачу так, чтобы i1 и i2...

Задачи на случайные числа (Random) - Delphi
1.Сгенерить случайное число из диапазона и вывести его на экран . 2.Вывести математическое ожидание функции случайного числа на основе...

Случайные вещественные числа в диапазоне - Delphi
Есть RandomRange(), но он только для целых чисел, подскажите как организовать что Random выдавал только числа в диапазоне, допустим от 1.89...

3
VladWH
239 / 189 / 65
Регистрация: 01.05.2015
Сообщений: 732
29.07.2015, 17:18 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Asgard797, первый вариант - генерация всех чисел разом
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.btn1Click(Sender: TObject);
var I, N: Integer;
begin
m1.Clear; Randomize;
for I:=0 to 9 do
 begin
  repeat
   N := RandomRange(11,21);
  until m1.Lines.IndexOf( IntToStr( N ) )=-1;
  m1.Lines.Add( IntToStr( N ) );
 end;
end;
Второй вариант по одному числу
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
  Form1: TForm1;
  Nums: TStringList;
..........................
procedure TForm1.FormCreate(Sender: TObject);
begin
Nums := TStringList.Create;
end;
...................................
procedure TForm1.btn2Click(Sender: TObject);
var N: string;
begin
Randomize;
if Nums.Count=10 then begin
 ShowMessage('Все числа сгенерированы!'); Exit; end;
repeat
 N := IntToStr( Random(10)+11 );
until Nums.IndexOf(N)=-1;
m1.Lines.Add( N ); Nums.Add( N );
end;
1
Puporev
Модератор
52821 / 40632 / 13882
Регистрация: 18.05.2008
Сообщений: 94,236
29.07.2015, 17:23 #3
А чем не устроили ответы в этой теме?
Генератор случайных чисел
0
NIKOLAYY
816 / 716 / 160
Регистрация: 22.09.2012
Сообщений: 4,985
29.07.2015, 20:22 #4
Ну есть еще третий вариант брать числи из массива заполненном от 11 до 21 и брать их так чтоб элементы массива не повторялись из которых береш. Тогда и цикл ненужен. Ну это плюс еще немного кода.
0
29.07.2015, 20:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2015, 20:22
Привет! Вот еще темы с ответами:

Сгенерировать случайные двоичные числа в диапазоне от a до b - Delphi
Помогите написать программу, даже не знаю с какой стороны к ней подойти, вот задание: Написать функцию, генерирующую случайные двоичные...

При нажатии на CheckBox должны сгенерироваться случайные числа . - Delphi
При нажатии на CheckBox должны сгенерироваться случайные числа в 6 строк и 6 цифр в каждой строке. Данные выводятся в memo. Я написала код,...

Создать массив содержащий случайные числа в диапозоне от [-100, 100] - Delphi
Далее сформировать новый упорядоченный массив по возрастанию исключая из первого массива числа нарушающие порядок

Случайные величины - Delphi
С помощью генератора случайных чисел (функция Random, процедура Randomize в Delphi 7) получить последовательность из более чем 50 случайных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.