Удалить символ с строки - QBasic
Формулировка задачи:
Всем привет!
Как удалить символ из заданной строки?
Например: "Hello world", удаляем все 'o' и получается "Hell wrld"
Заранее спасибо!
Решение задачи: «Удалить символ с строки»
textual
Листинг программы
DECLARE SUB DEL (s$, n, l) CLS DIM s AS STRING s = "Hello World" PRINT s PRINT DO k = INSTR(s, "o") IF k THEN DEL s, k, 1 LOOP UNTIL k = 0 PRINT s END SUB DEL (s AS STRING, n, l) DIM s1 AS STRING DIM s2 AS STRING s1 = LEFT$(s, n - 1) s2 = RIGHT$(s, LEN(s) - n - l + 1) s = s1 + s2 END SUB
Объяснение кода листинга программы
В этом коде:
- Создается подпрограмма с именем DEL, которая принимает три параметра: s (строка), n (позиция символа для удаления) и l (длина символа для удаления).
- В основной программе объявляется переменная s типа STRING и присваивается значение
Hello World
. - Выводится значение переменной s.
- Запускается цикл DO-LOOP, который будет выполняться до тех пор, пока не будет найдено совпадение с символом
o
. - Внутри цикла выполняется функция INSTR, которая ищет первое вхождение символа
o
в строке s. - Если символ найден (т.е. k не равно 0), то вызывается подпрограмма DEL, передавая ей значения s, k и 1 (т.е. длина символа
o
). - Подпрограмма DEL сначала разбивает строку s на две части: s1 (все символы до
o
) и s2 (все символы послеo
). - Затем она заменяет исходную строку s на результат объединения s1 и s2.
- Цикл продолжается до тех пор, пока символ
o
не будет найден (т.е. k равно 0). - После окончания цикла выводится значение переменной s. Список действий:
- Объявление подпрограммы DEL.
- Вывод значения переменной s.
- Начало цикла DO-LOOP.
- Поиск символа
o
с помощью функции INSTR. - Если символ найден, вызов подпрограммы DEL.
- Разбиение строки s на две части внутри подпрограммы DEL.
- Замена исходной строки s на результат объединения s1 и s2 внутри подпрограммы DEL.
- Продолжение цикла DO-LOOP.
- Вывод значения переменной s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д