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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2014, 00:59   #1
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию Randomize

исключить определенные числа введенные в edit1 random


var
int : Integer;
i : Integer;
begin
for i := 1 to 1 do
begin
int := Randomrange(spinedit1.value,spinedi t2.value);
alman12 вне форума Ответить с цитированием
Старый 14.09.2014, 01:30   #2
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Я правильно понял, что вам нужно составить range,
зная его начало и конец и исключить из него промежуточный элемент?
Или нужно число из промежутка FirstNum + Random(100) ?
пыжок
maloun вне форума Ответить с цитированием
Старый 14.09.2014, 01:35   #3
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

чтобы цифры в edit1 не сгенерировались
alman12 вне форума Ответить с цитированием
Старый 14.09.2014, 01:38   #4
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
чтобы цифры в edit1 не сгенерировались
Генерация это грубо говоря создание(сборка), если вам нужно не создавать,
просто не пишите код, если у вас задача посложнее - потрудитесь объяснить.
пыжок
maloun вне форума Ответить с цитированием
Старый 14.09.2014, 01:43   #5
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

нужно создават
число введенные в edit1 не сгенерировалис
исключить цифры введенные в edit1
alman12 вне форума Ответить с цитированием
Старый 14.09.2014, 01:48   #6
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
нужно создават
число введенные в edit1 не сгенерировалис
Код:
function GenerateNum:Integer;
begin
  Result:=Random(10);
end;
Edit1.Text:=IntToStr(GenerateNum);


...
// или что-то такое?
var
  str:String;
begin
  str:='123456'
  str:=Copy(str,1,2) + Copy(str,5,2); // 1256 
  Edit1.Text:=str; // how about that?


Так. Это запись Random числа в Edit, что вы хотите НЕ делать?
пыжок

Последний раз редактировалось maloun; 14.09.2014 в 01:56.
maloun вне форума Ответить с цитированием
Старый 14.09.2014, 01:55   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Как бы я сделал:
1) Определить N - количество оставшихся в диапазоне чисел (размер диапазона минус все попавшие в него числа из эдита)
2) Получить K = random(N)
3) Переводить число из диапазона 0..N-1 в диапазон с разрывами spinedit1.value..spinedit2.value
3.1) К числу K прибавить spinedit1.value
3.2) Идти по сформированному массиву из выкидываемых чисел, отсортированных по возрастанию, и увеличивать K на единицу каждый раз, когда встречаем число меньше или равное K
3.3) Выдать K

Шаг 3.3 можно оптимизировать, применив бинарный поиск.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 14.09.2014, 01:57   #8
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Шаг 3.3 можно оптимизировать, применив бинарный поиск.
Да какой поиск, он даже не сказал, чего хочет.
пыжок
maloun вне форума Ответить с цитированием
Старый 14.09.2014, 01:59   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
Смех

Цитата:
Сообщение от maloun Посмотреть сообщение
Да какой поиск, он даже не сказал, чего хочет.
Просто я - телепат, а Вы - нет
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 14.09.2014, 01:59   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

alman12 это такой тип людей, которых надо под пытками допрашивать, что узнать что им надо.

По вопросу:
Ну так и проверяйте, если число в edit1 < Spin2.Value то Spin2.Value = edit1 - 1.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Randomize в С++ Falcao Visual C++ 3 06.03.2013 13:27
Random и Randomize Heng Помощь студентам 12 14.12.2012 23:14
Randomize и Image Tuman777 Общие вопросы Delphi 31 24.08.2011 23:55
random/randomize Ya_Aston Помощь студентам 8 17.12.2010 19:49
Randomize )Игнат( Паскаль, Turbo Pascal, PascalABC.NET 13 03.02.2009 16:51