Author Topic: А можно ли...  (Read 4889 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: А можно ли...
« Reply #15 on: June 05, 2017, 03:14:46 PM »
На кликере, с обычным поиском.
[spoiler]
Code: (clickermann) [Select]
#name   "Checking groups brackets"

SUB(check_brackets, $st)
    $st = STRFILTER($st, "()[]{}", 1)
    LOGWRITE("$st = ", $st)
   
    $lmax = STRLEN($st)
    $rep = 1
    WHILE($rep = 1)
        IF(STRLEN($st) = 0)
            LOGWRITE("Всё правильно!")
            $rep = 0
        ELSE
            FOR($i=0, $i < 3)
                $pos = STRPOS($st, $brackets[$i])
                IF($pos > 0)
                    $st1 = STRCUT2($st, 1, $pos-1)
                    $st2 = STRCUT2($st, $pos+2, $lmax)
                    $st = STRCONCAT($st1, $st2)
                    $i = 10
                END_IF
            END_CYC
            IF($i < 10)
                LOGWRITE("Проблемы!")
                $rep = 0
            END_IF
        END_IF
    END_CYC
    LOGWRITE("**********************")
END_SUB

//==============================================================================


STRSEPARATE("():[]:{}", ":", $brackets)

check_brackets("[[]()]")
check_brackets("()")
check_brackets("({")

check_brackets("({})")
check_brackets("[[]()]")
check_brackets("[{()}]")

check_brackets("{(})")
check_brackets("([]")
check_brackets("[])")
check_brackets("еха[ли [медведи] (на ) велоси]педе")
HALT
[/spoiler]


Qwerry

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
Re: А можно ли...
« Reply #16 on: June 05, 2017, 04:23:52 PM »
На кликере, с обычным поиском.
И правда так лучше и проще)
Но "мы не ищем легких путей!" Ну или не находим :D
Даже не подумала о подобном варианте. А ведь вроде уже знаю, какие для строк команды есть, почти всеми пользовалась.