По заданной фразе a$ сформировать и вывести фразы, слова в которых являются всевозможными перестановками слов исходной фразы. исходная информация вводится с клавиатуры(qbasic)

lanamuradyamu lanamuradyamu    3   08.06.2019 23:20    0

Ответы
SeregaDvoihnik SeregaDvoihnik  01.10.2020 22:37
INPUT s$
k = LEN(s$) + 1
FOR i = 1 TO k
    IF MID$(s$, i, 1) = " " THEN n = n + 1 'считаем число слов
NEXT i
n = n + 1
DIM f$(n)
DIM z(n)
j = 1
FOR i = 1 TO k 'разрезаем фразу на слова и заносим их в массив f
    t$ = MID$(s$, i, 1)
    f$(j) = f$(j) + t$
    IF t$ = " " THEN j = j + 1
NEXT i
f$(n) = f$(n) + " "
FOR i = 1 TO n 'считаем в СС с основанием n, исключая повтор цифр
    z(i) = i
NEXT i
DO WHILE z(0) = 0
    z(n) = z(n) + 1
    k = n
    DO WHILE z(k) > n
        z(k) = 1
        k = k - 1
        z(k) = z(k) + 1
    LOOP
    p = 0
    FOR i = 1 TO n - 1 'исключаем числа с повторяющимися цифрами
        FOR j = i + 1 TO n
            IF z(i) = z(j) THEN p = 1
        NEXT j
    NEXT i
    IF p = 0 THEN 'выводим соответствующие числам слова
        FOR j = 1 TO n
            PRINT f$(z(j));
        NEXT j
        PRINT
    END IF
LOOP
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика