Напечатать заданный текст из 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.
- Переменная
s
объявлена как строка, которая может содержать до 100 символов. - Затем, с помощью цикла
repeat-until
, программа запрашивает у пользователя ввод строки до тех пор, пока ее длина не станет равной или больше 100 символов. - Затем, в цикле
while
, который выполняется 100 раз, начиная с первого символа строки, программа проверяет наличие текущего символа в оставшейся части строки (которая начинается с символа, следующего за текущим). Если символ найден, он удаляется из строки. - В конце программы выводится на экран полученная строка. Таким образом, данный код позволяет удалить все повторяющиеся символы из строки, оставив только первые вхождения каждого символа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д