powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Zapolneniya kartochki loto
37 сообщений из 37, показаны все 2 страниц
Zapolneniya kartochki loto
    #34030730
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Privet.
Nado iz 20 tsifr (ot 1 do 20) poluchit vse vozmojnie varianti po 14 poley.
Struktura tablitsi a1,a2,a3....a14. Nado eto tablitsi napolnit ot 1 do 20, tak kak v odin zapis ne doljen povtoryayushie tsifri.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34031455
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достаточно пространственно формулируете вопросы
И если я правильно понял то Вы хотите получить следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LOCAL lcStrUpdate,i,j 
CREATE CURSOR myTable ;
	(a1 n( 2 ),a2 n( 2 ),a3 n( 2 ),a4 n( 2 ),a5 n( 2 ),a6 n( 2 ),a7 n( 2 ),a8 n( 2 ),a9 n( 2 ),a10 n( 2 ),a11 n( 2 ),a12 n( 2 ),a13 n( 2 ),a14 n( 2 ))
lcStrUpdate=''
FOR I= 1  TO  20 
	FOR j=I TO  13 +I
		lcStrUpdate=lcStrUpdate+IIF(!EMPTY(lcStrUpdate),',','')+LTRIM(STR(IIF(j> 20 ,j- 20 ,j))) 
	ENDFOR 
	lcStrUpdate='('+lcStrUpdate+')'
		INSERT INTO myTable ;
		(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) ;
		VALUES &lcStrUpdate
	lcStrUpdate=''
ENDFOR 
Или если я не правильно понял уточните что Вы хотите получить почему 14 полей и 20 цифр?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34031539
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
No, mne nado vse vozmojnie varianti. Dopustim:
1,2,3,.....14
1,2,3,.....15
1,2,3,.....16
...............
1,2,3,.....20

2,3,4,.....15
2,3,4,.....16
2,3,4,.....17
..............
2,3,4,.....20

3,4,5,......16
3,4,5,......17
3,4,5,......18
..............
3,4,5,......20
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34031731
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем такое, скажите пожалуйста?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34031776
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
axnsdfNo, mne nado vse vozmojnie varianti. Dopustim:
1,2,3,.....20

А что выкинуть то ?
в 14 полей 20 цифирок ну ни как
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34031839
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vot primerno takoe:
1,2,3,5,6,7,8,9,10,11,12,13,14
1,2,3,5,6,7,8,9,10,11,12,13,15
1,2,3,5,6,7,8,9,10,11,12,13,16
.......................................
1,2,3,5,6,7,8,9,10,11,12,13,20


1,2,3,5,6,7,8,9,10,11,12,14,15
1,2,3,5,6,7,8,9,10,11,12,14,16
1,2,3,5,6,7,8,9,10,11,12,14,17
.......................................
1,2,3,5,6,7,8,9,10,11,12,14,20

..........................................
.........................................

2,3,5,6,7,8,9,10,11,12,13,14,15
2,3,5,6,7,8,9,10,11,12,13,14,16
2,3,5,6,7,8,9,10,11,12,13,14,17
..........................................
2,3,5,6,7,8,9,10,11,12,13,14,20


2,3,5,6,7,8,9,10,11,12,13,15,16
2,3,5,6,7,8,9,10,11,12,13,15,17
2,3,5,6,7,8,9,10,11,12,13,15,18
..........................................
2,3,5,6,7,8,9,10,11,12,13,15,20
.........................
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34032212
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, сделай 14 вложенных циклов. Неужели так сложно! Примерно раз в полгода один и тот же вопрос повторяется. Сделай поиск по данному форуму по слову "лотерея"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
LOCAL lnFields, lnMaxValue
lnFields =  14 
lnMaxValue =  20 

FOR a1= 1  TO m.lnMaxValue - m.lnFields
	FOR a2=a1+ 1  TO m.lnMaxValue - m.lnFields +  1 
		FOR a3 = a2+ 1  TO m.lnMaxValue - m.lnFields +  2 
			...
			INSERT INTO MyTab (f1,f2,f3,...) VALUES (a1,a2,a3,...)
		ENDFOR
	ENDFOR
ENDFOR
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34044106
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
U menya postonovka zadachu manyalsa. Nado iz 90 chisel vibrat 5 i pomestit ix v tablitsu (v tablitse 9 poley) sluchaynom obroze, tak kak v kajdom zapise doljno 5 tsifra (4 ostalnie pusto)
Zdes nashel vot takoy kod (1.prg). Nemnoshka kod menyal i eto menya ustraevaet.
No, mne nado chto iz kajdoy tsifre v tablitse prisutstvola xotyabi primerno odinokoviy raz. T.e. ne bilo tak :chislo 12 prisutstvola dopustim 1000 raz, a chislo 67 dopustim 80 raz.
A kak eto delat ya ne moq.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34046357
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Obyasnite pojalusta, kak eto mojno delat nad etim kodom?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34046427
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай вот эту тему

http://www.sql.ru/forum/actualthread.aspx?tid=293115
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34046483
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Da, v etom primere (11.prg) vse tsifri v tablitse odinokiviy raz prisutstvuet. (Mne tak i nado) No, zdes vse 7 pole nado napolnit.
Mne nado iz 9-i sluchaynim obrozam tolko 5 napolnit, pri etom nado udovlotvorit predudushie usloviya(uchastvovat odinakoviy raz).
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34050478
Ya kod nemnoqo menyal i poluchilos sleduyushee:aaa.zip.
Bigtable.dbf v 1-m pole doljen pomestitsa tsifri ot 1 do 9.
No bolshe 9 toje pomeshaetsa. I v ostalnix poley toje samiy.
Vcem moya oshibka ? Pomoqite pojalusta
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34050957
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V chem moya oshibka ?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34052482
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Posmotrite pojalusta vot etot kod
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34052867
axnsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34054927
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Твое условие не понятно.

Рассмотрим простейший вариант. 3 числа из 5 возможных. Просто "тупо" запишем все варианты

123
124
125
134
135
145
234
235
245
345

Теперь подсчитаем, сколько раз встречается каждое число? Окажется, что ВСЕ числа встречаются одинаковое количество раз. Ровно 6 раз.

Т.е., получается, что если перебрать все возможные варианты, то каждое число встретится одинаковое количество раз!

Теперь берем опять же "в тупую" варианты 5 из 90

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
aa=seconds()
create cursor Variant (a1 N( 2 ), a2 N( 2 ), a3 N( 2 ), a4 N( 2 ), a5 N( 2 ))
FOR v1= 1  TO  86 
	FOR v2 = v1+ 1  TO  87 
		FOR v3 = v2+ 1  TO  88 
			FOR v4 = v3+ 1  TO  89 
				FOR v5 = v4+ 1  TO  90 
					INSERT INTO Variant (a1,a2,a3,a4,a5) ;
						VALUES (v1,v2,v3,v4,v5)
				ENDFOR
			ENDFOR
		ENDFOR
	ENDFOR
ENDFOR
?seconds()-m.aa
set talk on

Придется немного подождать. У меня это все добро рассчитывалось около 3 минут. Получилось 43`949`268 вариантов (записей). Ради интереса можешь подсчитать сколько каждое число встречалось раз.

Код: plaintext
1.
2.
3.
4.
5.
6.
k= 56  && число, количество повторов которого ищем
select VARIANT
SET TALK OFF
COUNT FOR InList(m.k,a1,a2,a3,a4,a5) TO VarK
SET TALK ON
?m.VarK

Тоже около минуты ищет. Окажется, что все числа встречались одинаковое количество раз = 2`441`600

И чего ты хочешь получить? Ограничение по повторяемости? Например, чтобы каждое числов встречалось только 100 раз?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34055154
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
И чего ты хочешь получить? Ограничение по повторяемости? Например, чтобы каждое числов встречалось только 100 раз?

Da, imenno eto ya xochu.
Ya ponimayu chto yesli vse vozmojnie varianti vibrat toqda s kojdoqo chislo odinokoviy raz budet prisutstvovat.
No, yesli vse vozmojnie varinti, toqda poluchaetsa kak Vi qovorite 43`949`268 variantov. A yesli mne dopustim, tolko 5000000 iz etix zapisey nujno budet, toqada kak mne bit?
Ya je ne moqu iz etix 43`949`268 variantov vibrat 1-y 5000000.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34055194
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Da, i yeshyo u menya v tablitse ne 5 a 9 poley yest i v kajduyu pole svoi "desyatki"
nado pomestit: ( u menya: araliq.dbf)
1-oe pole: ot 1 do 9
2-oe pole: ot 10 do 19
3-oe pole: ot 20 do 29
4-oe pole: ot 30 do 39
5-oe pole: ot 40 do 49
6-oe pole: ot 50 do 59
7-oe pole: ot 60 do 69
e pole: ot 70 do 79
9-oe pole: ot 80 do 90

A variant.dbf ya sozdal dlya toqo chto, znat chislo v bigtable.dbf v kakom pole (ot 1 do 9) doljen pomestitsa.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34055607
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это попытка заполнения карточки лото? Так в такой постановке это бессмысленно. Карточка заполняется по более сложному алгоритму. Надо рассматривать не заполнение одной строки карточки, а заполнение самой краточки. Целиком.

Как выражался персонаж одного фильма: "Огласите весь список, пожалуйста".

Твоя постановка не то, чтобы совсем непонятна, но непонятно, почему ты сам не можешь реализовать такой примитивный алгоритм. А оказывается, что ты просто не все рассказываешь. Тебе дают решение, а ты тут же выходишь с претензиями: это работает, но надо не совсем так, как я сказал. Так скажи сразу, как НАДО. Без промежуточных этапов. Думаешь интересно делать пустую работу?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34055681
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Delo vtom chto u menya 2 raznie kartochki budet. V perviy budet tolko odna stroka. Vot seychas ya eto xochu sdelat. (Ya dumayu chto zdes ponyatno chto ya xochu: Tsifri ot 1 do 90 . Nado ix pomestit table (bigtable.dbf) tak chto iz 9 poley 4 ostanitasa pustim. i v kajdom pole svoyi tsifri (1-y pole ot 1 do 9, 2-oe pole ot ot 10 do 19 i t.d.... 9 oe pole ot 80 do 90 ))

Vo 2-m tip kartochki toje samiy usloviya, tolko zdes ne 1, a 6 stroka budet.

Zdes eto tema (lotereya) mnoqo raz obsujdalas. No, etot vopros do kontsa ne viyesnilas.
Poetomu tolko "poisk" ne pomaqlo, i xotel obrashatsa s voprosami
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34055952
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаешь стало понятнее?

Ограничимся пока двумя полями:

Первое поле принимает значение от 1 до 9.
Второе поле принимает значение от 10 до 19

Надо заполнить каждое поле случайным числом из выделенного набора.

Ну и? Дальше-то что? Как должны быть взаимосвязаны значения из этих двух полей? Просто все возможные не повторяющиеся варианты? Ну, очевидно, что их будет ровно 90 (9*10). Не все? А по какому принципу будем отбирать?

Это одна из причин, почему тема так и осталась "не раскрыта". Никто так и не смог внятно сформулировать что же ему надо-то.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34056159
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Seychas ya postarayus sformilrovat svoyu zadachu.
Kartochka budet paxoje na RUSSKOE LOTO.
Srazu skaju chto oqranichivat dvumya polyami ne poluchitsa. Potomu chto,
V tablitse 9 poley, i
1-oe pole prinimaet znachenie ot 1 do 9,
2-oe pole prinimaet znachenie ot 10 do 19,
3-oe pole prinimaet znachenie ot 20 do 29,
4-oe pole prinimaet znachenie ot 30 do 39,
5-oe pole prinimaet znachenie ot 40 do 49,
6-oe pole prinimaet znachenie ot 50 do 59,
7-oe pole prinimaet znachenie ot 60 do 69,
e pole prinimaet znachenie ot 70 do 79,
9-oe pole prinimaet znachenie ot 80 do 90.

I VARIANT
V kajdoy kartochke odna stroka, v kajdoy stroke 9 poley, i v kajdoy stroke 5 chisel, 4 pustoy.
Iz etix 9-ti poley nado 5 zapolnit etimi tsiframi iz videlennoqo nabora (4 ostanitsa pustoy)
Snachala ya xotel poluchit vse vozmojnie varianti. V etom sluchie iz kajdoqo tsifra v tablitse budet odinakoviy raz prisutstvovat. No polucaetsa ochen mnoqo variantov. Poetomu seycay xochu poluchit kakoy to oqranichonniy kolichestvo
variantov (dopustim 5000000), no i zdes toje nado chtobi v tablitse iz kajdoqo chislo odinakoviy raz bilo. Yesli proqrammu budem 'prervat' koqda zapisi doshli do kolichestvo nujnoqo varianta (dopustim 5000000), toqda eto usloviya ne udovletvoryaetsa (v tablitse iz kajdoqo chislo neodinakoviy raz).

Vot imenno vopros v etom.
II VARIANT.
V odnom bilete 2 iqrovie kartochki.
V kajdoy kartochke 3 stroka, v kajdoy stroke 9 poley, i v kajdoy stroke 5 chisel, 4 pustoy.
Ponyatno chto v kajdom variante v odnom kartochke (bilet) povtoryayushie chislo ne doljna bit. (v 1-m variante v odnom stroke , 2-m variante v 6 stroke)



Neznayu vseyo moq obyasnit ili net?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34056495
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С первым понятно. Направление примерно такое:

Пустое (нулевое) значение - это тоже значение . Значит, твой диапазон интервалов несколько меняется:

Первое поле - от 0 до 9
Второе поле - от 10 до 19 И значение 0
Третье поле - от 20 до 29 И значение 0
и т.п.

На момент формирования списка значений одной строки делаешь проверку дополнительного условия - должно быть ровно 4 значения 0.

Нужна еще одна таблица (курсор) - счетчик из 90 строк. Ключем каждой строки будет число от 1 до 90, а значение - количество раз, которое использовалось это число при расчете.

На момент формирования списка значений одной строки проверяешь не превысило ли количество использований какого-либо числа предельно допустимое значение. Если превысило, игнорируешь этот вариант и запускаешь расчет по новой. При этом надо проверить, что в каждом диапазоне значений еще можно использовать хотя бы одно значение.

Если сформированная строка корректна, то увеличиваешь количество использованных значений в таблице-счетчике и делаешь итоговую запись.

В общем, все относительно просто, но нужно некоторое время, чтобы перевести эту логику в код.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34056555
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ya ponimayu chto ne ochen slojniy, daje kakoy to kod qotov, chtobi poluchit eti varianti. No, u menya odin iz s samiiy vajniy usloviyami (s kojdoqo chislo odinokoviy raz prisutstvovat) ni kak ne poluchaetsa.

ВладимирМС первым понятно.
Vtooroy variant toje samiy, tolko zdes nado poluchit ne odna stroka, a 6 takix
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34058913
axndsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kajetsa v svoem kode ya nashel qde moya oshibka.
Yesli nayti vse vozmojnie varianti poluchaetsa 12565000 zapisey.
Vse tsifri naxodyashixsya krome 1-y i posledniy pole prisutstvuet odinakoviy raz:698500.
Tsifri naxodyashixsya v 1-m pole (1,2,3,...9) prisutstvuet 735000 raz, v poslednom pole (80,81,82,...90) 665000 raz
Delo v tom cto u menya v araliq.dbf takoy:
1 1-9 (vseqo 9 tsifr)
2 10-19 (vseqo 10 tsifr)
3 20-29 (vseqo 10 tsifr)
4 30-39 (vseqo 10 tsifr)
5 40-49 (vseqo 10 tsifr)
6 50-59 (vseqo 10 tsifr)
7 60-69 (vseqo 10 tsifr)
8 70-79 (vseqo 10 tsifr)
9 80-90 (vseqo 11 tsifr)

T.e. 2-m,3-m,4-m,5-m,6-m,7-m,8-m pole 10 tsifri naxoditsa, v 1-m 9, v poslednom 11.
Naverno prichino v etom chto yesli daje poluchit vse vazmojnie varianti, toqda toje
tsifri prisutstvuet ne odinakoviy raz. No, usloviya takaya, ya eto ne moqu menyat.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34065379
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ochen srochno nujno mne reshit eti problemi, Esli kto znaet pomoqite pojalusta.
Ya uje bolshe etoqo nicheqo ne moqu soobrajat.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34066100
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если подождешь пару дней, то на выходных могу расписать. Задачка достаточно простая, просто требует тщательного анализа. Не столько на знание, сколько на внимание. Это я про первый вариант о формировании одной строки.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34066353
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Budu bloqadaren.
Ya dumayu chto yesli 1-y variant poluchitsa, 2-y variant (6 stroka) ne budet tak slojno. Ya sam toje postarayus chto-to delat.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34072012
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Держи вариант решения для первой задачи

Правда, решение не идеальное в том смысле, что не получается для ВСЕХ значений получить одинаковое количество вариантов. Например, если я ограничиваюсь 100 значениями для каждой цифры, это значит, что примерно 10 значений будут использованы около 80 раз.

А так, результаты пропорциональные получаются. Для 100 значений порядка 1780 записей (около 10 секунд расчета), для 1000 значений - порядка 17800 записей (около 2...3 минут расчета).

"Порядка" означает, что это, вероятно, максимальное значение. Точно не стал вычислять предельное значение. А реальный результат колеблется от 1730 до 1780 на каждые 100 значений.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34078821
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
не получается для ВСЕХ значений получить одинаковое количество вариантов. Например, если я ограничиваюсь 100 значениями для каждой цифры, это значит, что примерно 10 значений будут использованы около 80 раз.

Vot imenno ya etu problemu xotel reshit. U menya toje samiy poluchaetsa.
No, nascet praporsianolnosti ya ne ponyal. Napirmer, kolichestvo ispolzuvanie kajdoqo znachenie postavil 10000, poluchilsa chto '9' ne doispolzovona 3895 raz,a '84' 411 raz. Eto ne ochen to proporsinalno pomoemu. Ili ya ne ponimayu chto-to.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34079617
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, двай на простом примере. 3 ячейки по 2 значения (1,2; 3,4; 5,6) и одна блуждающая дырка. Имеем следующие варианты

1 3 0
1 4 0
2 3 0
2 4 0
1 0 5
1 0 6
2 0 5
2 0 6
0 3 5
0 3 6
0 4 5
0 4 6

Легко увидеть, что каждое значение встречается ровно 4 раза. Но, если стоит ограничение, выбрать каждое значение только 2 раза? Какие будем выбирать?

Предположим, выбрали первые 4 записи. Что имеем: все значения от 1 до 4 были выбраны ровно 2 раза. Значит, эти значения больше выбирать нельзя.

НО, а как же значения 5 и 6? А никак! Их уже НЕВОЗМОЖНО выбрать, поскольку в любой оставшейся записи они будут в связке с одним из уже использованных значений. Т.е. попытка выбрать значения 5 или 6 приведет к переполнению количества других значений.

Да, можно рассчитать комбинацию, при которой все значения будут выбраны одинаковое количество раз. Но! А оно тебе надо? Это получается довольно не тривиальная задача на комбинаторику.

Поскольку в коде используется выборка случайным образом через RAND(), то предсказать, сколько же останется "в остатке" невозможно.

Можешь попробовать поискать закономерности, при выполнении которых будет выбор всегда одинакового количества значений без остатка. Добавь эти ограничения в отбор записей и "будет тебе счастье".

Например, в данном примере из 3 ячеек и выбора только 2 значений эта закономерность легко просчитывается: одно значение не может иметь более одной "пары" в одной и той же ячейке.

Ну, т.е. для значения 1 в паре должно быть только одно значение из второй ячейки (любое) и только одно значение из третьей ячейки (любое), но недопустимо иметь два разных значения в одной и той же ячейке. Другими словами допустимо выбрать

1 3 0
1 0 5

или

1 4 0
1 0 6

Но недопустимо выбрать

1 3 0
1 4 0

А общие закономерности для любого количества дырок и любого количества значений ищи сам.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34079972
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ можно рассчитать комбинацию, при которой все значения будут выбраны одинаковое количество раз. Но! А оно тебе надо?

Imenno eto nado bilo mne.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34084386
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ Можешь попробовать поискать закономерности, при выполнении которых будет выбор всегда одинакового количества значений без остатка. Добавь эти ограничения в отбор записей и "будет тебе счастье".


Eto ya ne ponyal kak?
Esli mojno podrobnee skajite ob etom, pojalusta.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34117971
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Я немного код менял, получил более или менее подходящий вариант.
Но и здесь тоже некоторые цифры (последные) не присутствует в таблице. Вот мой код: ssdd.rar
Нет ли решение этой проблемы? Как тогда заплоняет таблицы для лотереии?
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34121546
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты думаешь, что приведенный тобой код настолько элементарен, что понятен без комментариев, то ты сильно ошибаешся. Т.е., конечно, понять его можно. Затратив довольно много времени и сил. А оно мне надо?

Итак, что имеем:

Variant - какие 5 ячеек из 9 доступных будут заполнены на очередной итерации. Кстати, некорректно заполненной (лишние записи, дающие дубли вариантов)
araliq - диапазон возможных значений каждой ячейки
90.dbf - счетчик. Сколько раз было использовано каждое значение
BigTable - отобранные варианты

Берем запись таблицы Variant - номера ячеек, которые будут заполняться.

По диапазону, указанному в araliq начинаем перебирать ВСЕ возможные значения для каждой ячейки. Поскольку комбинации в таблице Variant - уникальны, то дублей при переборе быть не может. Т.е. невозможно создать комбинацию, которая раньше уже была записана.

Продолжаем перебор, пока не достигнем предела использования значений в очередной комбинации.

В чем здесь проблема?

Возвращаюсь к примеру 2 значения в 3 ячеках. В каждой ячейке возможны только 2 значения.

Содержимое таблицы Variant в этом случае будет такое (исключая дубли вариантов)

12
13
23

Первая ячейка - от 1 до 2
Вторая ячейка - от 3 до 4
Третья ячейка - от 5 до 6

Двигаемся по твоей логике по таблице Variant и имеем в BigTable значения

Строка 1 таблицы Variant
1 3 0
1 4 0
2 3 0
2 4 0

Строка 2 таблицы Variant
1 0 5
1 0 6
2 0 5
2 0 6

Строка 3 таблицы Variant
0 3 5
0 3 6
0 4 5
0 4 6

Ставим ограничение: не более 2 раз выбрать каждое значение. Движемся сверху вниз и выбираем

1 3 0
1 4 0
2 3 0
2 4 0

ВСЕ! Больше НИЧЕГО выбрать не получится. Каждое значение было выбрано ровно 2 раза. Из третьего столбца не будет выбрано НИ ОДНОГО значения.

Более того, в общем случае у тебя и не получится выбрать одинаковое количество раз каждое значение. Ведь ты имеешь РАЗНЫЕ диапазоны.

Для первой ячейки - 9 значений
Для ячеек со второй по восьмую - по 10 значений
Для девятой ячейки - 11 значений

Это значит, что первая ячейка будет выбираться несколько бОльшее количество раз, последнее - несколько мЕньшее количество. Равномерного распреджеления не будет в принципе.

ПРОСТОГО решения, я не вижу. Любой простой алгоритм основанный на переборе вариантов "упрется" в некую неравномерность распределения. В большей или меньшей степени. Думаю, это задачка из теории вероятности и статистических распределений.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34126851
axndfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда, я думаю это более простой вариант, уже другого игра.
Цифры от 1 до 50, в таблице 25 полей, и каждое поле имеет свое значение

a1,b1,c1,d1,e1 - от 1 до 9
a2,b2,c2,d2,e2 - от 10 до 19
a3,b3,c3,d3,e3 - от 20 до 29
a4,b4,c4,d4,e4 - от 30 до 39
a5,b5,c5,d5,e5 - от 40 до 50
А как здесь получить так что с каждого цифра в таблице присутствовали одинаковый раз?
Код имею, но не получается с каждого цифра в таблице присутствовали одинаковый раз. Допустим, 1000 раз.
...
Рейтинг: 0 / 0
Zapolneniya kartochki loto
    #34127144
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я могу только повторить, то, что уже сказал

ВладимирМПРОСТОГО решения, я не вижу. Любой простой алгоритм основанный на переборе вариантов "упрется" в некую неравномерность распределения. В большей или меньшей степени. Думаю, это задачка из теории вероятности и статистических распределений.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Zapolneniya kartochki loto
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]