Определить, имеются ли в строке симметричные слова - 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"

Объяснение кода листинга программы

  1. Вводится строка с помощью функции INPUT, в которой пользователю предлагается ввести фразу.
  2. Создается массив b$ размером 50 для хранения слов.
  3. Переменная k инициализируется значением 1.
  4. В цикле FOR происходит разбиение введенной строки на отдельные слова и их сохранение в массиве b$.
  5. В цикле FOR проверяется, является ли длина слова равной 5.
  6. Если длина слова равна 5, то в цикле FOR проверяется, являются ли парные символы этого слова разными.
  7. Если слова симметричны, то выводится на экран.
  8. Если после проверки всех слов в массиве b$ не найдено ни одного симметричного слова, то выводится сообщение takih slov net.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы