В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
serbinaluba66cet
serbinaluba66cet
12.05.2020 15:30 •  Информатика

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

Показать ответ
Ответ:
Сергей965
Сергей965
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота