Обработка строк - Turbo Pascal (248952)

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

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

Нужно удалить из слова все предыдущие вхождения последней буквы

Решение задачи: «Обработка строк»

textual
Листинг программы
program lab6;
Var s,sl,st:string;
C:char;
i:byte;
Begin
write('Posledovatelnost slov: ');readln(s);
if s[Length(s)]='.' then Delete(s,Length(s),1);
i:=Length(s);
While (s[i]<>' ')and(i<>0) do
Begin
st:=s[i]+st;
Delete(s,i,1);
dec(i);
End;
While Pos(' ',s)>0 do
Begin
sl:=Copy(s,1,Pos(' ',s)-1);
Delete(s,1,Pos(' ',s));
if (st<>sl)and(Length(sl)>1) then writeln(Copy(sl,1,Length(sl)-1));
End;
readln;
begin
c:=s[length(s)];
for i:=length(s)-1 downto 1 do
if s[i]=c then delete(s,i,1);
end;
End.

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

  1. Программа считывает строку из консоли с помощью readln(s).
  2. Если последним символом строки является точка, то она удаляется с помощью Delete(s,Length(s),1).
  3. Переменная i инициализируется значением длины строки.
  4. В цикле, пока последний символ строки не является пробелом и индекс не равен нулю, выполняется следующее:
    • Последний символ добавляется к переменной st.
    • Из строки удаляется последний символ.
    • Значение i уменьшается на единицу.
  5. В цикле, пока в строке есть пробелы, выполняется следующее:
    • Создается новая строка sl, которая является копией исходной строки до первого пробела.
    • Первый пробел и все последующие символы до следующего пробела удаляются из исходной строки.
    • Если новая строка отличается от исходной и ее длина больше одного символа, то она выводится на консоль.
  6. В цикле, начиная с последнего символа исходной строки, проверяется каждый символ. Если он совпадает с последним символом, то он удаляется из строки.
  7. Программа завершается чтением символа из консоли с помощью readln.

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


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

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

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