В исходной строке определить и вывести слова, которые встречаются в строке по одному разу - QBasic
Формулировка задачи:
В исходной строке а$ определить и вывести слова, которые встречаются в строке по одному разу.
Решение задачи: «В исходной строке определить и вывести слова, которые встречаются в строке по одному разу»
textual
Листинг программы
- CLS
- DIM A AS STRING
- DIM A1 AS STRING
- DIM A2 AS STRING
- DIM B AS STRING
- DIM p AS STRING
- INPUT "A = "; A
- p = " "
- A = p + A + p
- i = 1
- DO
- i2 = INSTR(i + 1, A, p)
- B = MID$(A, i, i2 - i + 1)
- k = INSTR(i2, A, B)
- IF k = 0 THEN
- k1 = INSTR(A, B)
- A1 = LEFT$(A, k1)
- A2 = MID$(A, k1 + LEN(B))
- A = A1 + A2
- B = LTRIM$(RTRIM$(B))
- PRINT B
- ELSE
- DO WHILE INSTR(A, B)
- k1 = INSTR(A, B)
- A1 = LEFT$(A, k1)
- A2 = MID$(A, k1 + LEN(B))
- A = A1 + A2
- LOOP
- END IF
- i = 1
- LOOP UNTIL i >= LEN(A)
- END
Объяснение кода листинга программы
- Объявлены пять переменных: A, A1, A2, B и p.
- Пользователю предлагается ввести строку в переменную A.
- Переменная p инициализируется как пробел.
- Строка A обрабатывается таким образом, чтобы слова, которые встречаются в ней только один раз, были выделены и выведены.
- Цикл начинается с i = 1, который используется для индексации каждого символа в строке A.
- Внутри цикла проверяется, есть ли следующий символ, который совпадает с текущим символом, умноженным на пробел. Если это так, то цикл повторяется до тех пор, пока не будет найдено уникальное совпадение.
- Если совпадение не найдено, то текущий символ и его следующее совпадение удаляются из строки A.
- Цикл продолжается до тех пор, пока i не станет равным длине строки A.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д