Вверх ↑
Этот топик читают: Гость
Ответов: 37
Рейтинг: 1
#1: 2020-10-23 18:11:33 ЛС | профиль | цитата
Здравствуйте конструкторы!
Есть 1000 вариантов трехзначного числа (цифры числа от 0 до 9), от 000 до 999.
Не могу придумать следующее:
Перебор по нажатию кнопки этих вариантов, вне порядка.
Но чтоб уже представленное число не выдавалось в дальнейшем, ну в конце, ну типо предупреждения : Перебор возможных вариантов закончен.
Если прервал перебор и закрыл программу, сохранялись результаты, т.е. при следующем запуске можно было продолжить перебор, а не начинать сначала.
И была возможность, сделать полный сброс.

Вот вообще мыслей нету никаких
Поможет кто нить
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#2: 2020-10-23 18:39:00 ЛС | профиль | цитата
В лото играли? Такой алгоритм: помещаете нужный диапазон в массив и случайным образом удаляете из него число. Повторяете до опустошения. Состояние сохраняете в файл.

Редактировалось 1 раз(а), последний 2020-10-24 05:22:38
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 37
Рейтинг: 1
#3: 2020-10-23 19:00:03 ЛС | профиль | цитата
Nic писал(а):
В лото играли? Такой алгоритм: помешаете нужный диапазон в массив и случайным образом удаляете из него число. Повторяете до опустошения. Состояние сохраняете в файл.

про массив то думал, вот случайное простое удаление.....
Благодарю.
карма: 0

0
Ответов: 56
Рейтинг: 2
#4: 2020-10-23 19:05:02 ЛС | профиль | цитата
Может так? Только я не понял, для чего сохранять позицию перебора?

код

Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,574,273)
{
Width=538
Height=469
Position=1
link(onCreate,1951009:doRandomize,[(616,293)(616,307)])
}
Add(Random,1951009,679,294)
{
Max=999
Point(doRandomWithoutRepeats)
link(onRandom,9403850:doRead,[(725,300)(725,379)(638,379)(638,349)])
}
Add(CounterEx,8896266,735,385)
{
Max=99999
link(onNext,14059135:doCompare,[])
}
Add(StrList,2697835,630,273)
{
Strings=#3:000|3:001|3:002|3:003|3:004|3:005|3:006|3:007|3:008|3:009|3:010|3:011|3:012|3:013|3:014|3:015|3:016|3:017|3:018|3:019|3:020|3:021|3:022|3:023|3:024|3:025|3:026|3:027|3:028|3:029|3:030|3:031|3:032|3:033|3:034|3:035|3:036|3:037|3:038|3:039|3:040|3:041|3:042|3:043|3:044|3:045|3:046|3:047|3:048|3:049|3:050|3:051|3:052|3:053|3:054|3:055|3:056|3:057|3:058|3:059|3:060|3:061|3:062|3:063|3:064|3:065|3:066|3:067|3:068|3:069|3:070|3:071|3:072|3:073|3:074|3:075|3:076|3:077|3:078|3:079|3:080|3:081|3:082|3:083|3:084|3:085|3:086|3:087|3:088|3:089|3:090|3:091|3:092|3:093|3:094|3:095|3:096|3:097|3:098|3:099|3:100|3:101|3:102|3:103|3:104|3:105|3:106|3:107|3:108|3:109|3:110|3:111|3:112|3:113|3:114|3:115|3:116|3:117|3:118|3:119|3:120|3:121|3:122|3:123|3:124|3:125|3:126|3:127|3:128|3:129|3:130|3:131|3:132|3:133|3:134|3:135|3:136|3:137|3:138|3:139|3:140|3:141|3:142|3:143|3:144|3:145|3:146|3:147|3:148|3:149|3:150|3:151|3:152|3:153|3:154|3:155|3:156|3:157|3:158|3:159|3:160|3:161|3:162|3:163|3:164|3:165|3:166|3:167|3:168|3:169|3:170|3:171|3:172|3:173|3:174|3:175|3:176|3:177|3:178|3:179|3:180|3:181|3:182|3:183|3:184|3:185|3:186|3:187|3:188|3:189|3:190|3:191|3:192|3:193|3:194|3:195|3:196|3:197|3:198|3:199|3:200|3:201|3:202|3:203|3:204|3:205|3:206|3:207|3:208|3:209|3:210|3:211|3:212|3:213|3:214|3:215|3:216|3:217|3:218|3:219|3:220|3:221|3:222|3:223|3:224|3:225|3:226|3:227|3:228|3:229|3:230|3:231|3:232|3:233|3:234|3:235|3:236|3:237|3:238|3:239|3:240|3:241|3:242|3:243|3:244|3:245|3:246|3:247|3:248|3:249|3:250|3:251|3:252|3:253|3:254|3:255|3:256|3:257|3:258|3:259|3:260|3:261|3:262|3:263|3:264|3:265|3:266|3:267|3:268|3:269|3:270|3:271|3:272|3:273|3:274|3:275|3:276|3:277|3:278|3:279|3:280|3:281|3:282|3:283|3:284|3:285|3:286|3:287|3:288|3:289|3:290|3:291|3:292|3:293|3:294|3:295|3:296|3:297|3:298|3:299|3:300|3:301|3:302|3:303|3:304|3:305|3:306|3:307|3:308|3:309|3:310|3:311|3:312|3:313|3:314|3:315|3:316|3:317|3:318|3:319|3:320|3:321|3:322|3:323|3:324|3:325|3:326|3:327|3:328|3:329|3:330|3:331|3:332|3:333|3:334|3:335|3:336|3:337|3:338|3:339|3:340|3:341|3:342|3:343|3:344|3:345|3:346|3:347|3:348|3:349|3:350|3:351|3:352|3:353|3:354|3:355|3:356|3:357|3:358|3:359|3:360|3:361|3:362|3:363|3:364|3:365|3:366|3:367|3:368|3:369|3:370|3:371|3:372|3:373|3:374|3:375|3:376|3:377|3:378|3:379|3:380|3:381|3:382|3:383|3:384|3:385|3:386|3:387|3:388|3:389|3:390|3:391|3:392|3:393|3:394|3:395|3:396|3:397|3:398|3:399|3:400|3:401|3:402|3:403|3:404|3:405|3:406|3:407|3:408|3:409|3:410|3:411|3:412|3:413|3:414|3:415|3:416|3:417|3:418|3:419|3:420|3:421|3:422|3:423|3:424|3:425|3:426|3:427|3:428|3:429|3:430|3:431|3:432|3:433|3:434|3:435|3:436|3:437|3:438|3:439|3:440|3:441|3:442|3:443|3:444|3:445|3:446|3:447|3:448|3:449|3:450|3:451|3:452|3:453|3:454|3:455|3:456|3:457|3:458|3:459|3:460|3:461|3:462|3:463|3:464|3:465|3:466|3:467|3:468|3:469|3:470|3:471|3:472|3:473|3:474|3:475|3:476|3:477|3:478|3:479|3:480|3:481|3:482|3:483|3:484|3:485|3:486|3:487|3:488|3:489|3:490|3:491|3:492|3:493|3:494|3:495|3:496|3:497|3:498|3:499|3:500|3:501|3:502|3:503|3:504|3:505|3:506|3:507|3:508|3:509|3:510|3:511|3:512|3:513|3:514|3:515|3:516|3:517|3:518|3:519|3:520|3:521|3:522|3:523|3:524|3:525|3:526|3:527|3:528|3:529|3:530|3:531|3:532|3:533|3:534|3:535|3:536|3:537|3:538|3:539|3:540|3:541|3:542|3:543|3:544|3:545|3:546|3:547|3:548|3:549|3:550|3:551|3:552|3:553|3:554|3:555|3:556|3:557|3:558|3:559|3:560|3:561|3:562|3:563|3:564|3:565|3:566|3:567|3:568|3:569|3:570|3:571|3:572|3:573|3:574|3:575|3:576|3:577|3:578|3:579|3:580|3:581|3:582|3:583|3:584|3:585|3:586|3:587|3:588|3:589|3:590|3:591|3:592|3:593|3:594|3:595|3:596|3:597|3:598|3:599|3:600|3:601|3:602|3:603|3:604|3:605|3:606|3:607|3:608|3:609|3:610|3:611|3:612|3:613|3:614|3:615|3:616|3:617|3:618|3:619|3:620|3:621|3:622|3:623|3:624|3:625|3:626|3:627|3:628|3:629|3:630|3:631|3:632|3:633|3:634|3:635|3:636|3:637|3:638|3:639|3:640|3:641|3:642|3:643|3:644|3:645|3:646|3:647|3:648|3:649|3:650|3:651|3:652|3:653|3:654|3:655|3:656|3:657|3:658|3:659|3:660|3:661|3:662|3:663|3:664|3:665|3:666|3:667|3:668|3:669|3:670|3:671|3:672|3:673|3:674|3:675|3:676|3:677|3:678|3:679|3:680|3:681|3:682|3:683|3:684|3:685|3:686|3:687|3:688|3:689|3:690|3:691|3:692|3:693|3:694|3:695|3:696|3:697|3:698|3:699|3:700|3:701|3:702|3:703|3:704|3:705|3:706|3:707|3:708|3:709|3:710|3:711|3:712|3:713|3:714|3:715|3:716|3:717|3:718|3:719|3:720|3:721|3:722|3:723|3:724|3:725|3:726|3:727|3:728|3:729|3:730|3:731|3:732|3:733|3:734|3:735|3:736|3:737|3:738|3:739|3:740|3:741|3:742|3:743|3:744|3:745|3:746|3:747|3:748|3:749|3:750|3:751|3:752|3:753|3:754|3:755|3:756|3:757|3:758|3:759|3:760|3:761|3:762|3:763|3:764|3:765|3:766|3:767|3:768|3:769|3:770|3:771|3:772|3:773|3:774|3:775|3:776|3:777|3:778|3:779|3:780|3:781|3:782|3:783|3:784|3:785|3:786|3:787|3:788|3:789|3:790|3:791|3:792|3:793|3:794|3:795|3:796|3:797|3:798|3:799|3:800|3:801|3:802|3:803|3:804|3:805|3:806|3:807|3:808|3:809|3:810|3:811|3:812|3:813|3:814|3:815|3:816|3:817|3:818|3:819|3:820|3:821|3:822|3:823|3:824|3:825|3:826|3:827|3:828|3:829|3:830|3:831|3:832|3:833|3:834|3:835|3:836|3:837|3:838|3:839|3:840|3:841|3:842|3:843|3:844|3:845|3:846|3:847|3:848|3:849|3:850|3:851|3:852|3:853|3:854|3:855|3:856|3:857|3:858|3:859|3:860|3:861|3:862|3:863|3:864|3:865|3:866|3:867|3:868|3:869|3:870|3:871|3:872|3:873|3:874|3:875|3:876|3:877|3:878|3:879|3:880|3:881|3:882|3:883|3:884|3:885|3:886|3:887|3:888|3:889|3:890|3:891|3:892|3:893|3:894|3:895|3:896|3:897|3:898|3:899|3:900|3:901|3:902|3:903|3:904|3:905|3:906|3:907|3:908|3:909|3:910|3:911|3:912|3:913|3:914|3:915|3:916|3:917|3:918|3:919|3:920|3:921|3:922|3:923|3:924|3:925|3:926|3:927|3:928|3:929|3:930|3:931|3:932|3:933|3:934|3:935|3:936|3:937|3:938|3:939|3:940|3:941|3:942|3:943|3:944|3:945|3:946|3:947|3:948|3:949|3:950|3:951|3:952|3:953|3:954|3:955|3:956|3:957|3:958|3:959|3:960|3:961|3:962|3:963|3:964|3:965|3:966|3:967|3:968|3:969|3:970|3:971|3:972|3:973|3:974|3:975|3:976|3:977|3:978|3:979|3:980|3:981|3:982|3:983|3:984|3:985|3:986|3:987|3:988|3:989|3:990|3:991|3:992|3:993|3:994|3:995|3:996|3:997|3:998|3:999|
}
Add(ArrayRW,9403850,644,343)
{
link(onRead,9275704:doEvent1,[])
link(Array,2697835:Array,[])
link(Index,1951009:Random,[(657,333)(685,333)])
}
Add(RichEdit,10775710,735,343)
{
Left=85
Top=25
Width=400
Height=375
ScrollBars=3
}
Add(Button,1592400,532,315)
{
Left=15
Top=25
Caption="Старт"
link(onClick,874543:doStart,[])
}
Add(Thread,874543,574,315)
{
Delay=10
FastStop=0
link(onExec,1951009:doRandomWithoutRepeats,[])
}
Add(If_else,14059135,777,385)
{
Op2=Integer(1000)
link(onTrue,11000716:doMessage,[])
}
Add(Hub,9275704,686,343)
{
link(onEvent1,10775710:doAdd,[])
link(onEvent2,8896266:doNext,[(719,356)(719,391)])
}
Add(Message,11000716,819,385)
{
Message="Перебор возможных вариантов закончен!"
Caption="Сообщение"
}


Редактировалось 1 раз(а), последний 2020-10-23 19:05:54
карма: 2
На этом форуме, самые умные и добрые люди, всегда помогут! СПАСИБО!
0
Ответов: 37
Рейтинг: 1
#5: 2020-10-23 19:06:57 ЛС | профиль | цитата
Если прервал перебор и закрыл программу, сохранялись результаты, т.е. при следующем запуске можно было продолжить перебор, а не начинать сначала....ну вот решил завтра перебирать дальше.
Пример не смотрел еще, посмотрю позже

Редактировалось 1 раз(а), последний 2020-10-23 19:26:41
карма: 0

0
Ответов: 8921
Рейтинг: 823
#6: 2020-10-23 19:11:52 ЛС | профиль | цитата
Work, при запуске и закрытии программы открывается и сохраняются результаты в файле SetNumbers.ini
Пример


Add(MainForm,2953706,42,112)
{
Width=248
Height=119
Caption="Random number"
Point(onClose)
link(onCreate,7735296:doEvent1,[(88,132)(88,146)])
link(onClose,7675430:doSave,[(179,139)(179,153)])
}
Add(Button,8429454,42,175)
{
Left=5
Top=10
Width=65
Caption="New Set"
link(onClick,7697394:doEvent1,[])
}
Add(StrList,7675430,196,112)
{
FileName="SetNumbers.ini"
Point(doGetString)
Point(onGetString)
link(onGetString,10475178:doText,[])
}
Add(Button,5058852,41,210)
{
Left=90
Top=10
Width=65
Caption="Next Numb"
Data=Integer(0)
link(onClick,8326362:doEvent1,[])
}
Add(Hub,7697394,84,175)
{
link(onEvent1,7675430:doClear,[(109,181)(109,125)])
link(onEvent2,3957576:doRandomWithoutRepeats,[(109,188)(109,195)])
}
Add(Random,3957576,126,175)
{
Max=999
Point(doRandomWithoutRepeats)
link(onRandom,7675430:doAdd,[(165,181)(165,118)])
}
Add(Edit,10475178,245,119)
{
Left=165
Top=10
Height=30
Font=[MS Sans Serif,12,1,0,1]
Text=""
DataType=2
ReadOnly=0
ClearAfterEnter=1
}
Add(Label,2738458,245,224)
{
Left=5
Top=45
Width=48
Height=24
Font=[MS Sans Serif,12,1,0,1]
}
Add(Hub,8326362,91,210)
{
OutCount=3
link(onEvent1,7675430:doGetString,[(179,216)(179,160)])
link(onEvent2,7675430:doDelete,[(172,223)(172,132)])
link(onEvent3,9972055:doWork2,[])
}
Add(FormatStr,14898560,196,224)
{
DataCount=1
Mask="Numbers left %1 "
link(onFString,2738458:doText,[])
link(Str1,7675430:Count,[(202,173)(209,173)])
}
Add(Hub,7735296,126,140)
{
OutCount=3
link(onEvent1,7675430:doLoad,[])
link(onEvent2,3957576:doRandomize,[(151,153)(151,167)(116,167)(116,188)])
link(onEvent3,9972055:doWork1,[(158,160)(158,167)(186,167)])
}
Add(HubEx,9972055,182,224)
{
link(onEvent,14898560:doString,[])
}

карма: 19

0
Ответов: 37
Рейтинг: 1
#7: 2020-10-23 19:35:17 ЛС | профиль | цитата
Леонид писал(а):
Work, при запуске и закрытии программы открывается и сохраняются результаты в файле SetNumbers.ini

эти варианты с 1 по 99 , как до 3-х значного превратить ,т.е. 001, 005,010, и т.д. до 099, и да ...вариант 000 будет отображаться?...
не совесем понятно.

Редактировалось 1 раз(а), последний 2020-10-23 19:36:06
карма: 0

0
Ответов: 8921
Рейтинг: 823
#8: 2020-10-23 20:30:45 ЛС | профиль | цитата
Work, перед Label поставьте вот этот конвертор

Add(Convertor,15168043,455,133)
{
Mode=1
Digits=3
SymbolFill="0"
}

карма: 19

0
Ответов: 37
Рейтинг: 1
#9: 2020-10-24 04:58:52 ЛС | профиль | цитата
Леонид писал(а):
Work, перед Label поставьте вот этот конвертор

Только , с mod StrToInt, и перед Edit.

Редактировалось 3 раз(а), последний 2020-10-24 05:00:46
карма: 0

0
Ответов: 8921
Рейтинг: 823
#10: 2020-10-24 11:31:08 ЛС | профиль | цитата
Work писал(а):
Вот вообще мыслей нету никаких

Таки, мысли-то есть!
карма: 19

0
Ответов: 37
Рейтинг: 1
#11: 2020-10-24 19:21:48 ЛС | профиль | цитата
Леонид писал(а):
Work писал(а):
Вот вообще мыслей нету никаких

Таки, мысли-то есть!

Ну да , есть как оказалось...видать пинка не хватало
карма: 0

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)