Results 1 to 6 of 6

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date: Aug:2006
    Location: Bulgaria/Sofia
    Posts: 5

    çàäà÷êà çàêà÷êà

    Çäðàâåéòå,

    Îò 3 äíè ñè áëúñêàì ãëàâàòà ñúñ ñëåäíîòî óæ èçãëåæäàùî ìè åëåìåíòàðíî íåùî (ìàé âðåìåòî îò êîåòî íå ñúì ïèñàë êîä ñè êàçâà äóìàòà):
    Èñêàì äà íàïðàâà ïðåâîäà÷ îò êèðèëèöà êúì ëàòèíèöà. Ñêðèïò÷å íà perl (òîâà ìè å ùî ãîäå ëåñíî çà ïèñàíå), êîåòî âçèìà êàòî åäèíñòâåí àðãóìåíò -ñòðèíã íà êèðèëèöà (îò 2 äî 30 çíàêà), áåç çíà÷åíèå ìàëêè/ãëàâíè áóêâè. Êàòî èçõîä ñêðèïòà òðÿáâà äà âðúùà âñè÷êè âúçìîæíè êîìáèíàöèè íà äóìàòà íàïèñàíà íà ëàòèíèöà ñ ìàëêè áóêâè (ïðèìåðíî "â" äà ñå òðàíñëèðà êàòî "v" è êàòî "w", "ÿ" êàòî "ia","ja","q","ya" è ò.í. êàòî òîâà ñúîòâåòíî å ïðåäâàðèòåëíî äåôèíèðàíî)
    Ïðèìåð:
    Âõîä: "ÄúðâåÍèöà"
    Èçõîä: "darvenica", "darvenitsa","darvenitza","darwenica","d arwenitsa","darwenitza","dyrvenica","dyr venitsa","dyrvenitza","dyrwenica","dyrwe nitsa","dyrvenitza"...

    Åòî êàêâî ñúì ñúòâîðèë äî ìîìåíòà:
    Âçèìàì ñòðèíãíà íà êèðèëèöà, ïðåîáðàçóâàì ãî äà å ñúñ ìàëêè áóêâè (ãîòîâà ôóíêöèÿ - lc), ìèíàâàì ñúñ åäèí öèêúë ïðåç ñòðèíãà áóêâà ïî áóêâà, êàòî âñÿêà áóêâà è âèæäàì ASCII êîäà è ñè äåôèíèðàì åäèí switch â êîéòî êàçâàì àêî àñêè êîäà å íàïðèìåð "1072" çíà÷è â ìàñèâà â êîéòî ñúáèðàì íîâèÿ ñòðèíã çàïèøè áóêâàòà "a" ëàòèíñêî.
    È äî òóê ñ ëåñíîòî.
    Ñòèãíàõ äî ìîìåíòà â êîéòî ñè äåôèíèðàõ åäíà òàáëè÷êà:
    "â" -“w,v"
    "æ" - "zh,j,g"
    "é" - "j,i"
    "÷" - "ch,4"
    "ø" - "sh,6"
    "ù" - "sht,6t"
    "ú" - "y,a,u"
    "þ" - "ju,iu.yu"
    "ÿ" - "q,ja,ia,ya"
    È ñå çàìèñëèõ - êàê äà èçâúðòà âëîæåí öèêúë ñ íåèçâåñòåí áðîé öèêëè? Ìîæå áè íÿêàêâà ðåêóðñèÿ?
    Ïðèåìàì âñÿêàêâè èäåè, à áèðàòà å âå÷å â õëàäèëíèêà

  2. #2
    Registered User
    Join Date: May:2008
    Location: bguddd
    Posts: 108
    Ïîÿñíè ìàëêî çà öèêúëà , êàêâî ùå öèêëèø ñ íåãî , ÷å íå ìè ñòàíà ìíîãî ÿñíî.

  3. #3
    Registered User
    Join Date: Aug:2006
    Location: Bulgaria/Sofia
    Posts: 5
    Àìè ìèñëåõ ñè ïðèìåðíî çà ïðèìåðà ñ "äúðâåíèöà" äà èìàì 3 âëîæåíè öèêúëà
    for y=1..3 ( òóê ñúîòâåòíî y=1 ïðè ú="y", y=2 ïðè ú="a", y=3 ïðè ú="u")
    for v=1..2 (v=1 ïðè "â"=v, v=2 ïðè "â"=w)
    for zh=1..3 (zh=1 ïðè "æ"=zh, zh=2 ïðè "æ"=j "zh=3 ïðè æ=g)
    è òóê äà íàïðàâà âñè÷êè êîìáèíàöèè

  4. #4
    åíòóñèàçèðàí õàðäóåð System.gc()'s Avatar
    Join Date: Apr:2007
    Location: back in time
    Posts: 1,075
    Àêî ïðàâèëíî ñúì òå ðàçáðàë, íå ñòàâà ëè äà ñè íàòúï÷åø mapping-à â...map ñòðóêòóðà ñ êëþ÷ äàäåí char è ñòîéíîñò ìàñèâ÷å ñ âúçìîæíèòå ìó òðàíñëèòåðàöèè (ïðèìåðíî, 'ù' -> ['sht', '6t'])? Îòêúäåòî êàòî èòåðèðàø ñòðèíãà, ïðè êîíêðåòíàòà èòåðàöèÿ âçåìàø êúì êàêâî å map-íàò íàñòîÿùèÿ char è âúâ âëîæåí öèêúë âúðõó value-ìàñèâà ãåíåðèðàø âàðèàíòèòå.
    Íåùî êàòî:

    Code:
    ...
    for (i = 0; i < string.length(); i++):
        ch = string.charAt(i);
        array = map.get(ch);
        for value in array:
            ...
    UD3R|Q9550+1283|4x2 G.Skill@1066|MX500+1002FAEX+640AAKS+ST31 60|RX580-8GB|1841BLT|SS-760XP|Define7|z24i|Edifier S350DB
    geniusloci: ÀÌÄ ñå êóïóâà à) àêî ñè áåäåí; á) àêî ñà òå èçëúãàëè; â) àêî ñè áîëåí ôåí? nope|r.i.p.

  5. #5
    Registered User
    Join Date: Aug:2006
    Location: Bulgaria/Sofia
    Posts: 5
    È àç òàêà ñè ïðåäñòàâÿì "âúíøíèÿ" öèêúë, âúïðîñà å êàê äà ðåàëèçèðàì "âúòðåøíèòå"
    Îáùî âçåòî çàäà÷àòà ñå ñâåæäà äî:
    Èìàì 10 ìíîæåñòâà (ïðèìåðíî ìàñèâ îò õåøîâå íà ìàñèâè) ñ èçâåñòíè åëåìåíòè â òÿõ
    Code:
    â =  {'v','w'}
    æ = {'zh', 'j', 'g'}
    é =  {'i', 'j'}
    ö =  {'c', 'ts', 'tz'}
    ÷ =  {'ch','4'}
    ø = {'sh', '6'}
    ù = {'sht', '6t'} 
    ú = {'y', 'u', 'a'}
    þ = {'iu', ''ju', 'yu'}
    ÿ = {'q', 'ia', 'ja', 'ya'}
    È âúïðîñà å äà èçêàðàì âñè÷êè âúçìîæíè êîìáèíàöèè (ïî-ñêîðî âàðèàöèè - ðåäà èìà çíà÷åíèå) îò N îò òåçè ìíîæåñòâà:
    Ïðèìåðíî îò äóìàòà "ùúðêåë" - N=2 - ìíîæåñòâîòî 'ù' è ìíîæåñòâîòî 'ú'
    â 'ù' èìà 2 åëåìåíòà, â 'ú' = 3 åëåìåíòà
    Ïðàâà ñè âëîæåí öèêúë êàòî çà âñåêè åëåìåíò îò 'ù' êîìáèíèðàì ñ âñåêè îò 'ú'
    for - åëåìåíòè îò 'ù'
    for - åëåìåíòè îò 'ú'
    è ïîëó÷àâàì - shty, shtu, shta, 6ty, 6tu, 6ta (òóê èäâà è äðóã ïðîáëåì - êàêâî äà ïðàâà ïîñëå, íî òîâà ùå ãî ìèñëÿ êîãàòî ñòèãíà äî òóê)
     ñëó÷àÿ å ëåñíî çíàì ÷å ìíîæåñòâàòà N ñà 2 è èìàì 2 öèêúëà
    Êàê äà ðåàëèçèðàì ïî åëåãàíòåí íà÷èí òîâà çà N<=10 ìíîæåñòâà (äà - ìîãà äà ïðåáðîÿ áóêâè÷êèòå è äà íàïèøà åäèí ãðîçåí êîä çà N=1,2,3,4,5,6,7,8,9,10, íî íå ìè õàðåñâà òàêà)?
    Âñå ïîâå÷å çàïî÷âàì äà ñè ìèñëÿ çà íÿêàêâà ðåêóðñèÿ.

  6. #6
    ɐ-əpoɔᴉu⋂ ɐí íəÔ anrieff's Avatar
    Join Date: Apr:2004
    Location: Sofia
    Posts: 8,448
    Çàäà÷àòà èñêà ðåêóðñèâíî ðåøåíèå - êàêòî ïðàâèëíî ñè íàäóøèë.
    Åòî â ïñåâäîêîä:

    Code:
    def generator(bg_str, english_str, index):
    	if index >= bg_str.length():
    		print english_str
    		return
    	cur_char = bg_str[index]
    	for replacement in mappings[cur_char]:
    		generator(bg_str, english_str + replacement, index+1)
    êàòî ãî âèêàø ñ íåùî êàòî
    Code:
    generator("ÿéöå", "", 0);
    Òóê äîïóñêàì, ÷å map-à mappings ñúäúðæà ìàïâàíå äîðè íà ëåñíèòå áóêâè - ò.å. çà 'a' => {"à"}, 'ò' => {"t"}, 'ÿ' => {"ia", "ja", "ya", "q" } è ò.í.
    Btw, ïðàâèë ñúì íåùî òàêîâà (áÿõ íàáàðàë åäèí ñïèñúê ñ áúëãàðñêèòå äóìè íà êèðèëèöà, è áÿõ íàïðàâèë ñúîòâåòíèÿ ñïèñúê ñúñ ñúùèòå äóìè íà øëüîêàâèöà, ñúñ âñè÷êèòå âúçìîæíè òðàíñëèòåðàöèè, êàêòî ãè îïèñâàø) - ñïèñúêúò ìîæåø äà íàìåðèø òóê.
    Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
    "640K îught to be enough for anybody" - Bill Gates, 1981
    Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè