powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Zapolneniya kartochki loto
25 сообщений из 37, страница 1 из 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
25 сообщений из 37, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Zapolneniya kartochki loto
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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