Опубликовано 03.01.2018 по предмету Информатика от Гость

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

Ответ оставил Гость

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

Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы
Самые новые вопросы