Поиск повторяющихся слов в тексте - QBasic

Узнай цену своей работы

Формулировка задачи:

Есть задача. Дан текст заканчивающийся точкой. Определить количество повторяющихся слов в нем. Она впринцепи готова, только есть одно но и её надо доработать в этой задаче.
Вот пример: Мама мыла раму мыла.

Он мне выдаёт "В тексте нет повторяющихся слов"

Где тут ошибка?

Решение задачи: «Поиск повторяющихся слов в тексте»

textual
Листинг программы
INPUT "vvedite text"; a$
DIM b$(LEN(a$))
FOR i = 1 TO LEN(a$)
    IF MID$(a$, i, 1) <> " " AND MID$(a$, i, 1) <> "." THEN
        c$ = c$ + MID$(a$, i, 1)
    ELSE k = k + 1: b$(k) = c$: c$ = ""
    END IF
NEXT
FOR i = 1 TO k
    FOR j = i + 1 TO k
        IF b$(i) = b$(j) THEN f = 1: b$(j) = STR$(j)
    NEXT
    IF f = 1 THEN q = q + 1: f = 0
NEXT
PRINT "q ="; q

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

  1. Пользователю предлагается ввести текст.
  2. Объявляется массив b$ для хранения слов из введенного текста.
  3. Происходит проход по каждому символу введенного текста.
  4. Проверяется, является ли текущий символ пробелом или точкой.
  5. Если символ не является пробелом или точкой, он добавляется в конец переменной c$.
  6. Если текущий символ является пробелом или точкой, счетчик k увеличивается на 1, значение переменной c$ присваивается элементу массива b$ с индексом k, и переменная c$ очищается.
  7. Происходит проход по всем элементам массива b$.
  8. Для каждого элемента b$ проверяется, есть ли такой же элемент в оставшейся части массива.
  9. Если элемент повторяется, счетчик q увеличивается на 1.
  10. Выводится значение переменной q.

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


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

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

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