Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
#1

Генератор чисел - Delphi

12.01.2016, 22:41. Просмотров 1053. Ответов 16
Метки нет (Все метки)

Генератор случайных чисел на Delphi
Помогите пожалуйста написать генератор чисел из заданого десятизначного числа на Delphi. Имеется поле из которого и будет происходить генерация чисел ,кнопка Button1. и пять полей Label1, Label2,Label3,Label4,Label5 соответственно в которых и будет генерировать числа по 6 чисел в каждом поле. Нужно чтобы при нажатии на кнопку Button1 в полях Label1 i.t.d генерировались числа из десятизначного числа. Мне только нужен код,програма выглядеть будет приблизительно так.Генератор чисел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2016, 22:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Генератор чисел (Delphi):

генератор чисел
Помогите пожалуйста!! как в делфи зделать генератор чисел, но с выводом беспорядочно разбросаных точек???? допустим мне такое надо...

генератор чисел
такой вопрос скачал генератор чисел с файлами делфи! я хочу его переделать, но при конпиляции выдает такую ошибку : " TestRandom.dpr(11):...

Генератор чисел
Всем доброго времени суток Как нужно написать условие, чтобы массив заполнялся случайными числами, но при этом ни 1 число не...

Генератор больших чисел
Всем привет, собственно мне нужно вывести числа по порядку, но дело в том что числа 20-х значные for i:=1 to 99999999999999999999 then ...

Генератор случайных чисел
В голове проскользнула мысль, что наш (вузовский) тест пишется на Delphi, где есть 4 варианта ответа который 1 правильный, значит там...

Генератор рандомных чисел
Мне нужно сделать генератор рандомных чисел длинной от 5-7 символов и генерировать такое кол-во раз, которое указанно в spin edit,...

16
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,589
13.01.2016, 00:31 #2
Цитата Сообщение от kerijil Посмотреть сообщение
из заданого десятизначного числа
В какой СС это число десятизначное?
Цитата Сообщение от kerijil Посмотреть сообщение
будет генерировать числа по 6 чисел в каждом поле.
Переведи на русский "6 чисел в каждом поле".
Цитата Сообщение от kerijil Посмотреть сообщение
програма выглядеть будет приблизительно так
На кой **** нам нужно знать как юудет выгдядеть "програмМа"?
0
unifikator
490 / 348 / 229
Регистрация: 29.03.2015
Сообщений: 675
13.01.2016, 03:42 #3
Код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
unit MainU;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure gen(l:tlabel;n:integer);
var
i:integer;
begin
l.Caption:='';
for i:=1 to 5 do
l.Caption:=l.Caption+inttostr(random(n))+', ';
l.Caption:=l.Caption+inttostr(random(n))+'.';
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
i,n:integer;
begin
try
n:=strtoint(edit1.Text);
except
begin
showmessage('Должно быть введено целое число!');
exit;
end;
end;
randomize;
for i:=1 to 5 do
gen(findcomponent('label'+inttostr(i)) as tlabel,n);
end;
 
end.
Прилагаю проект на Delphi.
1
Вложения
Тип файла: zip Random.zip (207.3 Кб, 10 просмотров)
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
13.01.2016, 09:38 #4
unifikator,
вместо
Delphi
1
2
3
4
5
6
7
8
try
    n:=strtoint(edit1.Text);
  except
    begin
      showmessage('Должно быть введено целое число!');
      exit;
    end;
  end;
нужно обрабатывать OnKeyPress эдита и разрешить только цифры вводить

ну или сделать так
Delphi
1
2
3
4
5
try
    n:=strtoint(edit1.Text);
  except
    on Exception : EConvertError do ShowMessage(Exception.Message);
  end;
или так
Delphi
1
2
3
4
5
try
    n:=StrToIntDef(edit1.Text,0);
  except
    on Exception : EConvertError do ShowMessage(Exception.Message);
  end;
1
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
13.01.2016, 10:06  [ТС] #5
большое спасибо !

Добавлено через 24 минуты
если генерация цифр будет произходить из трёх полей т.е. из десятизначного числа,из восмизначного числа и шестизначного генерируя и обрабатывая одновременно из этих трёх полей и выводя цифры при нажатии на button в label 1,2,3,4,5 по шесть цифр в каждом поле
0
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
13.01.2016, 10:54 #6
kerijil, блин, генерация происходит не ИЗ ЭТОГО ЧИСЛА
ваше число берется как максимум и все

то есть если написать random(2) - то возможны числа 0,1,2
а если ввести random(222) - то результатом не будут одни двойки

Добавлено через 47 секунд
Цитата Сообщение от kerijil Посмотреть сообщение
обрабатывая одновременно из этих трёх полей
какой в этом смысл? получить трижды случайное число?
0
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
13.01.2016, 15:44  [ТС] #7
но за основу должно взятся именно числовое значение которое будет вводится ,но не сама функция random т.е если в поле водится допустим любое десятизначное число из него и должно происходить комбинация ,а если три поля то только из них в одновременой последовательности и только из этих значении необходим результат который и будет заполнять формы пяти строк по шесть цифр в каждой,и если допустим цифры которые я пишу в них нет цифры 9 (или другой) то и random в label небудет выводить эту цифру .возможно ли это вообще
0
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
13.01.2016, 16:03 #8
ты пишешь какой-то бред
у тебя нормальное задание есть? на человеческом языке?
0
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
13.01.2016, 23:37  [ТС] #9
на человеческом языке напишу тоже самое.
поле для ввода заданого мной числа цифр(но в идеале необходимо еще два таких поля для ввода циферного значения)
кнопка которая при нажатии будет производить генерацию из тех цифр что ввёл в поле и только из них !(в идеале чтоб генерация происходила одновременно со всех записаных полей )например записываю цифры типа 1234567812 (первое поле) 2254682(второе поле) 55888888(третье)и при нажатии кнопки происходит генерация(можно назвать 'смешивание' но несовсем точное для этого слово) может получится типа такова 1254255 3568744 и.т.д
вывод полученрго значения в пять полей (как ответ на решение) с учётом определёного количества в размере шести цифр 5х6
Там нет диапозона типа от 1 до 1000 или другое потомучто в записаных значениях может и неприсутствовать некоторые из цифр последовательности
0
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
14.01.2016, 08:55 #10
сейчас ваш опус читать не возможно.
возьмите свое сообщение и проверьте его в ворде.
исправьте все ошибки, в том числе и запятые и отправьте его сюда.

лучше будет если вы каждое предложение напишите с отдельной строки.
0
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
14.01.2016, 20:02  [ТС] #11
прошу прощения за несоблюдение орфографических ошибок правописания и пунктуации.Впредь постараюсь писать ровно и проверять в орфографическом словаре!
необходима программа,выполняющая функции генерации смешивания(числовая гиперинтеренция) цифр из заданного числового значения.
вывод полученного результата,в поля 5х6.
программа в сдадии формирования,но на данном этапе,интересует только эти функции выполнения.
по мере продвижения,программе необходимо выполнять числовую "гиперинтеграцию",в нужных диапозонах вычисления.
0
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
14.01.2016, 21:58 #12
а теперь по человечески

у вас есть число 1234567890
вам надо из него путем смешивания что-то получить

так как "поле 5*6" это не поле, а массив хотелось бы спросить - что вам надо получить?

ЗЫ ну и random в этой задаче нужно не так использовать
загнать ваше число в массив и делать random(размер массива)
0
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
15.01.2016, 03:08  [ТС] #13
нужно получит-значение,которое произведёт результат компьютера или цифрового механизма.интересует именно (грубо говоря) его мнение по моему запросу,в виде цифр,в массивах.random это выбранный наугад, случайный или беспорядочный перебор чисел,такая функция возможна,в этой программе ,но также и невозможна т.е оно пишется в коде и при старте будет выводить значение только из того ,что указано там,а если,в массив я пишу числа которые могут и не присутствовать,в случайном переборе чисел из кода,то эта функция,может вывести значения которых нет,в записанных,в массив данных.нужно объеденить,смешевание цифр и random из записаного в массив числа

Добавлено через 10 минут
если есть функция делать random ТОЛЬКО записанного числа в массиве,то это подойдет
0
qwertehok
2195 / 2185 / 597
Регистрация: 29.08.2013
Сообщений: 14,588
15.01.2016, 08:40 #14
kerijil, вы опять включили генератор непонятного текста

я очень ясно спросил "что вы должны получить?"

входные данные - число или несколько
задача извлечь в случайном порядке цифры
а что получить?

одно длинное число? какого размера?
несколько чисел? какого размера? куда выводить?
0
ZfoxAK
493 / 478 / 218
Регистрация: 26.11.2012
Сообщений: 1,897
15.01.2016, 09:37 #15
Я так понял вам нужно на основе введного числа например 58246
Беря отдельно каждую цифру из выше означенного числа в качестве основы для генерации другой рандомной цифры и в результате получить число?
Если так, то:

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var s, sRnd :string; i : integer;
begin
s:=Edit1.Text;
sRnd:='';
Randomize;
For i:=1 to Length(S) do
sRnd:=sRnd+IntToStr(Random(StrToInt(S[i])));
Edit2.Text:=sRnd;
end;
Добавлено через 13 минут
Если же требуется участие в рандоме только цифр указанного числа. Например 58246 из этого числа
можно получить наприме 86445 и ни какие другие цифры не должны присутствовать.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button2Click(Sender: TObject);
var s, sRnd :string; i, iRnd : integer;
begin
s:=Edit1.Text;
sRnd:='';
Randomize;
For i:=1 to Length(S) do
begin
repeat
iRnd:=Random(10);
until Pos(IntToStr(iRnd),S)>0;
sRnd:=sRnd+IntToStr(iRnd);
end;
Edit3.Text:=sRnd;
end;
1
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
16.01.2016, 02:09  [ТС] #16
совершенно верно ZfoxAK!за основу должно взяться именно то число,которое введу,в массив и random,именно этого значения.И из массива ввода, выводить числа, в массивы получаемого значения результата, по шесть цифр,в пять полей (массивов) вот такая функция необходима.А если будет три поля(массива) ввода цифр для вывода random на нужные значения именно 5 полей массивов вывода по 6 цифр в каждом массиве как полученный результат,необходимо писать в коде три раза 1)random(10). 2)random(8) 3)random(6) и как происходит вывод данных в нужные массивы?
0
kerijil
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 11
18.01.2016, 02:22  [ТС] #17
решение найдено!благодарю всех
0
18.01.2016, 02:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2016, 02:22
Привет! Вот еще темы с решениями:

Генератор простых чисел
задачи по теме Циклы 1)Составить программу-генератор простых чисел, в основу положить формулу 2sqr(x)+29 при 0<x<28

Генератор случайных чисел
Датчик псевдослучайных чисел Random с формировать выборку объёмом 1000 с равномерным законом распределения !!!!! помогите как это...

генератор чисел в матрице
что надо написать чтобы автоматически генерировались числа в матрице??

Генератор случайных чисел
Здравствуйте,я только только начал изучать делфи и сейчас делаю программу с генератором.Суть программы в том что задается случайное число...


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

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

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