Дана строка, содержащая слова с несколькими пробелами между ними. Привести строку к нормальному виду (один пробел между двумя словами). Вывести количество лишних пробелов- QBasic(Бейсик)

CLS
LINE INPUT "vvedite text:"; a$
b1$ = " ": b2$ = ""
DO
    i = i + 1
    IF MID$(a$, i, LEN(b1$)) = b1$ AND z = 0 THEN z = 1
    IF MID$(a$, i, LEN(b1$)) <> b1$ AND z = 1 THEN z = 0: a$ = MID$(a$, 1, i - 1) + " " + MID$(a$, i, LEN(a$) - i + 1): i = i + 1: l = l + 1
    IF MID$(a$, i, LEN(b1$)) = b1$ THEN a$ = MID$(a$, 1, i - 1) + b2$ + MID$(a$, i + LEN(b1$), LEN(a$) - i): i = i + LEN(b2$) - 1: k = k + 1
LOOP UNTIL i >= LEN(a$)
PRINT a$
PRINT k - l

Тестирование выполнено в программе QB64 ( Скачать )

Leave a Comment