Поиск повторяющихся слов в тексте - 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
Объяснение кода листинга программы
- Пользователю предлагается ввести текст.
- Объявляется массив b$ для хранения слов из введенного текста.
- Происходит проход по каждому символу введенного текста.
- Проверяется, является ли текущий символ пробелом или точкой.
- Если символ не является пробелом или точкой, он добавляется в конец переменной c$.
- Если текущий символ является пробелом или точкой, счетчик k увеличивается на 1, значение переменной c$ присваивается элементу массива b$ с индексом k, и переменная c$ очищается.
- Происходит проход по всем элементам массива b$.
- Для каждого элемента b$ проверяется, есть ли такой же элемент в оставшейся части массива.
- Если элемент повторяется, счетчик q увеличивается на 1.
- Выводится значение переменной q.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д