< návrat zpět

MS Excel


Téma: ÚLOHA - riešenie cez makro? rss

Zaslal/a 9.2.2017 21:40

kabakaP R O T
L N E I
A S T K
T R A A

ÚLOHA
1. každé políčko v jednom slove sa môže použiť iba raz
DOPLNENIE: písmená musia tvoriť "retiazku"
2. podmienka - min. dĺžka slova 5 písmen
(max. dĺžka 16 písmen)
3. podmienka len podstatné mená v 1. páde j.č.
alebo pomnožné podstatné mená
4. podmienka nemôžu sa použiť vlastné mená
5. musia sa nachádzať v Pravidlách slovenského pravopisu

PRÍKLAD
najdlhšie slovo: protestantka

RIEŠENIE vytvorila som 37 slov

Ale chcela by som vedieť, či ešte nie sú nejaké možnosti
Šlo by na to vytvoriť nejaký vzorec, alebo makro?

S tým, že by sa nebrala do úvahy 4.podmienka

5. podmienka by som preverila ručne
http://slovnik.juls.savba.sk/?w=protestantka&s=exact&c=fab7&d=psp&d=sssj&d=pskcs&ie=utf-8&oe=utf-8#

Příloha: zip34872_retiazka.zip (4kB, staženo 35x)
Zaslat odpověď >

Strana:  1 2   další »
#034873
avatar
Začněme číslem FAKTORIAL(16) = 2,09228E+13 pro variace. Při - mno - 40 řádcích na stránku A4 Wordu a jeho kontrole pravopisu a pronájmu superpočítače alespoň na chvilenku - to by bylo, abychom tuhle zábavu neproměnili v něco hodnotného.citovat
#034874
avatar
Vlastně co, pan Kaiser to vyřešil Rumburakovi za chvilku. OROROK OREBUH na vás!citovat
#034875
avatar
Je zjevné, že nemá smysl (resp. v domácích podmínkách nelze) vytvářet všechny variace slov dle zadání z 16 písmen, podle mých výpočtů by jich bylo 56 874 039 505 920, což by naplnilo všechny buňky v 3310 listech Excelu...

Ale co na to jít z druhé strany?
Kdybych vyloženě musel řešit, tak bych si obstaral nějaký slovník daného jazyka, ten může mít třeba cca "jen" 200 000 slov, no a v tomto seznamu bych pak přes vzorce ověřoval, zda lze, či nelze, ze zadaných písmen slova sestavit.
P.citovat
#034876
avatar
Tak pokud máte chuť trávit čas nad proteinem v katastru :-)citovat
#034877
avatar
Principiálně by nemělo být nic složitého. Je to pak převážně o tom, jak kvalitní mám zdrojový slovník. Přepočet bude samozřejmě vždy chvíli trvat, ale dá se to vyřešit i na běžném PC.

Postup:
1.) Vezmu slovo ze slovníku, rozsekám jej po písmenkách přes ČÁST.
2.) Následně ověřím přes COUNTIFS, zda mám dostatek písmen (a ta správná písmena) v zadaném číselníku.
3.) Vyhodnocení provedu přes KDYŽ.
4.) Výstup získám vyfiltrováním sloupce.
P.

Př. (čárky a případné další vychytávky jsem neřešil):
Příloha: zip34877_slovnik_hra.zip (27kB, staženo 34x)
citovat
#034880
avatar
Na začátek...

Procházení existujících slov samozřejmě je lepší volba než generování hrubou silou.
Rovná se slovník. Máte ho? Já jsem se dlouho po žádném nesháněl, naposledy, když jsem hledal databanku pro slovníkový útok. V něm ale stoprocentně jsou jména a i když převážně jména podstatná, i tak.

Určitě ne verze se vzorci (dostanete se k číslu někde okolo 7 500 000 ve svém sešitu). Makro.. co nejrychlejší? Je to text, každá milisekunda dobrá. Parsování řetězce na znaky - asi nejrychlejší je bytové pole, nicméně ta naše slovanská diakritika, ach jo. Písmena se nesmí opakovat, čili musíme krok po kroku vyhazovat (odmázavat/přesouvat) znaky = problém s rychlostí a správným objektem. Následně musíme vyhovující řetězce seřadit a zjistit nejdelší... Načtení slovníku... no, nejsem si jistý, jak je VBA (nebo spíš FSO a VBScript) optimalizovaný na MBytové textové soubory, ale řekněme, že to načteme z buněk do pole.citovat
#034883
kabaka

xlnc napsal/a:

Na začátek...Následně musíme vyhovující řetězce seřadit a zjistit nejdelší...


Najdlhšie slovo protestantka som dala ako príklad.

Dôležité je, že písmená musia tvoriť retiazku, inak by sa dalo vytvoriť oveľa viac slov. Doplnila som do súboru Pavlusa už mnou vytvorené slová, ale vzhľadom na office mi vyhadzuje chybu.
Příloha: jpg34883_vzor.jpg (11kB, staženo 39x)
34883_vzor.jpg
citovat
#034885
kabaka

Pavlus napsal/a:

Principiálně by nemělo být nic složitého. Je to pak převážně o tom, jak kvalitní mám zdrojový slovník.


Ďakujem za reakciu.

Doplnila som do Vášho súboru slová, ktoré som už vytvorila. Vzorce VYHODNOTENIE mi vyhadzujú chybu "NÁZEV", Pravdepodobne nekompatibilita s office 2003.
Příloha: zip34885_slovnik.hra.zip (38kB, staženo 35x)
citovat
#034889
avatar
Tak s tou novou podmínkou ohledně řetězení textu to je ještě vyšší liga. Vyřešení takovéto problematiky může trvat hodiny a hodiny, to určitě nedám ;-)...
P.citovat
#034896
kabaka

Pavlus napsal/a:

Tak s tou novou podmínkou ohledně řetězení textu to je ještě vyšší liga. P.


To mi je jasné, to ani nežiadam, len som chcela vedieť, či by to bolo možné. Preto som uviedla aj príklad ako písmená musia nasledovať za sebou. Myslela som, že je to zrozumiteľné, ale asi nebolo.

Ale aj tak ďakujem.

Skúšala som aj formu prešmyčiek, ale to je presne to isté, čo ste vzorcami dosiahli Vy a to nie je ono.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje