Оставить в строке только первое вхождение каждого символа. Взаимный порядок оставленных символов сохранить - PascalABC.NET
Формулировка задачи:
Решил данную задачу так:
Она работает и работает правильно, но хотелось бы обойтись только одной строкой, которую вводит пользователь. И удалить из неё лишние символы
встроеной функцией delete.
Как ни бился, так ничего и не получилось. То выход за границу цикла, то удаление всех символов из строки получалось...Решение задачи: «Оставить в строке только первое вхождение каждого символа. Взаимный порядок оставленных символов сохранить»
textual
Листинг программы
procedure read(var x: string); begin if input.sr <> nil then read(input, x) else try CurrentIOSystem.read(x) except on e: Exception do raise e; end; end;
Объяснение кода листинга программы
- Входные данные: строка
x
. - Проверяется, не пуст ли входной поток
input.sr
. Если он не пуст, то вызывается функцияread(input, x)
, гдеinput
- это текущий вводной поток, аx
- это строка, в которую считываются символы. - Если входной поток пуст, то вызывается метод
read
текущего вводного потокаinput
, передавая в качестве аргумента строкуx
. Если вводной поток не может считать символ (например, достигнут конец файла), то вызывается исключениеException
. - В случае возникновения исключения
Exception
вызывается обработчик исключений, который перехватывает исключение и повторно вызывает его.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д