Ввести строку. Удалить часть символьной строки, заключенной между запятыми. - Pascal ABC
Формулировка задачи:
Ввести строку. Удалить часть символьной строки, заключенной между запятыми. Вывести преобразованную строку или замечание, что запятых нет. Программу зациклить, пока не выделиться нужный текст. Помогите, пожалуйста.
Решение задачи: «Ввести строку. Удалить часть символьной строки, заключенной между запятыми.»
textual
Листинг программы
var st : string; i, j, k, m, n : byte; BEGIN repeat WriteLn('Введите строку: '); Readln(st); for i:=1 to Length(st) do begin if (st[i]=',') then begin Inc(k); if k =1 then n:= i else m:=i; end; if m>0 then break end; if m = 0 then WriteLn('Строка не удовлетворяет условию!'); until m>0; m:= m - n; Delete(st, n, m); Writeln(st); END.
Объяснение кода листинга программы
- Переменная
st
объявлена как строка (string
). - Переменные
i
,j
,k
,m
,n
объявлены как байты (byte
). - В цикле
repeat
выполняется следующая последовательность действий:- Выводится сообщение для ввода строки.
- Строка
st
считывается с помощью функцииReadln()
. - В цикле
for
перебираются символы строкиst
. - Проверяется, равен ли текущий символ запятой (
st[i]
= ','). - Если символ равен запятой, то увеличивается счетчик
k
на единицу. - Если
k
равно 1, тоn
присваивается значениеi
, иначеm
присваивается значениеi
. - Если
m
больше 0, то циклwhile
прерывается. - Если
m
равно 0, то выводится сообщение о том, что строка не удовлетворяет условию.
- После окончания цикла
while
значение переменнойm
уменьшается на значение переменнойn
. - Строка
st
изменяется путем удаления символов, начиная с индексаn
и до индексаm
. - Выводится измененная строка
st
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д