В исходной строке определить и вывести слова, которые встречаются в строке по одному разу - QBasic

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

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

В исходной строке а$ определить и вывести слова, которые встречаются в строке по одному разу.

Решение задачи: «В исходной строке определить и вывести слова, которые встречаются в строке по одному разу»

textual
Листинг программы
  1. CLS
  2. DIM A AS STRING
  3. DIM A1 AS STRING
  4. DIM A2 AS STRING
  5. DIM B AS STRING
  6. DIM p AS STRING
  7.  
  8. INPUT "A = "; A
  9. p = " "
  10. A = p + A + p
  11. i = 1
  12.  
  13. DO
  14.    i2 = INSTR(i + 1, A, p)
  15.    B = MID$(A, i, i2 - i + 1)
  16.    k = INSTR(i2, A, B)
  17.    IF k = 0 THEN
  18.       k1 = INSTR(A, B)
  19.       A1 = LEFT$(A, k1)
  20.       A2 = MID$(A, k1 + LEN(B))
  21.       A = A1 + A2
  22.       B = LTRIM$(RTRIM$(B))
  23.       PRINT B
  24.    ELSE
  25.       DO WHILE INSTR(A, B)
  26.          k1 = INSTR(A, B)
  27.          A1 = LEFT$(A, k1)
  28.          A2 = MID$(A, k1 + LEN(B))
  29.          A = A1 + A2
  30.       LOOP
  31.    END IF
  32.    i = 1
  33. LOOP UNTIL i >= LEN(A)
  34.  
  35. END

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

  1. Объявлены пять переменных: A, A1, A2, B и p.
  2. Пользователю предлагается ввести строку в переменную A.
  3. Переменная p инициализируется как пробел.
  4. Строка A обрабатывается таким образом, чтобы слова, которые встречаются в ней только один раз, были выделены и выведены.
  5. Цикл начинается с i = 1, который используется для индексации каждого символа в строке A.
  6. Внутри цикла проверяется, есть ли следующий символ, который совпадает с текущим символом, умноженным на пробел. Если это так, то цикл повторяется до тех пор, пока не будет найдено уникальное совпадение.
  7. Если совпадение не найдено, то текущий символ и его следующее совпадение удаляются из строки A.
  8. Цикл продолжается до тех пор, пока i не станет равным длине строки A.
  9. Код завершается.

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


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

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

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы