Напечатать заданный текст из 100 литер, удалив из его повторные вхождение каждой литеры - Pascal

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

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

Напечатать заданный текст из 100 литер, удалив из его повторные вхождение каждой литеры.

Решение задачи: «Напечатать заданный текст из 100 литер, удалив из его повторные вхождение каждой литеры»

textual
Листинг программы
uses crt;
var s:string[100];
    i:integer;
begin
clrscr;
repeat
writeln('s: ');readln(s);
until length(s)>=100;
i:=1;
while i<100 do
   begin
     while pos(s[i],copy(s,i+1,100-i))>0 do{пока очередной симол есть дальше по строке}
     delete(s,pos(s[i],copy(s,i+1,100-i))+i,1);{удаляем его}
     inc(i);
   end;
writeln(s);
readln;
end.

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

В этом коде используется язык программирования Pascal.

  1. Переменная s объявлена как строка, которая может содержать до 100 символов.
  2. Затем, с помощью цикла repeat-until, программа запрашивает у пользователя ввод строки до тех пор, пока ее длина не станет равной или больше 100 символов.
  3. Затем, в цикле while, который выполняется 100 раз, начиная с первого символа строки, программа проверяет наличие текущего символа в оставшейся части строки (которая начинается с символа, следующего за текущим). Если символ найден, он удаляется из строки.
  4. В конце программы выводится на экран полученная строка. Таким образом, данный код позволяет удалить все повторяющиеся символы из строки, оставив только первые вхождения каждого символа.

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


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

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

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