Ввести строку. Удалить часть символьной строки, заключенной между запятыми. - 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.

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

  1. Переменная st объявлена как строка (string).
  2. Переменные i, j, k, m, n объявлены как байты (byte).
  3. В цикле repeat выполняется следующая последовательность действий:
    • Выводится сообщение для ввода строки.
    • Строка st считывается с помощью функции Readln().
    • В цикле for перебираются символы строки st.
    • Проверяется, равен ли текущий символ запятой (st[i] = ',').
    • Если символ равен запятой, то увеличивается счетчик k на единицу.
    • Если k равно 1, то n присваивается значение i, иначе m присваивается значение i.
    • Если m больше 0, то цикл while прерывается.
    • Если m равно 0, то выводится сообщение о том, что строка не удовлетворяет условию.
  4. После окончания цикла while значение переменной m уменьшается на значение переменной n.
  5. Строка st изменяется путем удаления символов, начиная с индекса n и до индекса m.
  6. Выводится измененная строка st.

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

6   голосов , оценка 4 из 5
Похожие ответы