Определить, имеются ли в строке симметричные слова - QBasic
Формулировка задачи:
Дана фраза, Определить, имеются ли в ней симметричные 5-ые слова
Выводит всегда слово нет...
помогите найти ошибку
Решение задачи: «Определить, имеются ли в строке симметричные слова»
textual
Листинг программы
INPUT "vvedite frazu ", a$ DIM b$(50) k = 1 FOR i = 1 TO LEN(a$) IF MID$(a$, i, 1) = " " THEN k = k + 1 ELSE b$(k) = b$(k) + MID$(a$, i, 1) NEXT FOR i = 1 TO k IF LEN(b$(i)) = 5 THEN f = 0 FOR j = 1 TO 2 IF MID$(b$(i), j, 1) <> MID$(b$(i), 6 - j, 1) THEN f = 1 NEXT IF f = 0 THEN PRINT b$(i):t=1 END IF NEXT if t=0 then print "takih slov net"
Объяснение кода листинга программы
- Вводится строка с помощью функции INPUT, в которой пользователю предлагается ввести фразу.
- Создается массив b$ размером 50 для хранения слов.
- Переменная k инициализируется значением 1.
- В цикле FOR происходит разбиение введенной строки на отдельные слова и их сохранение в массиве b$.
- В цикле FOR проверяется, является ли длина слова равной 5.
- Если длина слова равна 5, то в цикле FOR проверяется, являются ли парные символы этого слова разными.
- Если слова симметричны, то выводится на экран.
- Если после проверки всех слов в массиве b$ не найдено ни одного симметричного слова, то выводится сообщение
takih slov net
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д