Напечатать первые вхождения букв в текст, сохраняя их взаимный порядок - Free Pascal (4)

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

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

Дана строка из строчных латинских букв. Напечатать первые вхождения букв в текст, сохраняя их взаимный порядок. Указание: формируйте множество, в которое очередной элемент добавляется после первой печати. Примечание: Программы должны быть написаны в рамках структурного программирования. В частности, запрещается использовать операторы перехода и метки.

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

textual
Листинг программы
  1. var s:string;
  2.     m:set of char; //само множество
  3.     i:byte;
  4. begin
  5. writeln('Введите строку из строчных латинских букв');
  6. readln(s); //ввод строки
  7. m:=[]; //грубо говоря обнуляем множество
  8. writeln('Первые вхождения букв');
  9. for i:=1 to length(s) do //повтор цилка от одного до кол-ва букв в строке
  10. if not(s[i] in m) then //если буквы нет в множестве то
  11.  begin
  12.   write(s[i]); //вывести её
  13.   m:=m+[s[i]]; //и добавить в множество
  14.  end;
  15. end.

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

  1. Объявлены переменные: s (строка), m (множество), i (булевый тип).
  2. Выводится запрос на ввод строки.
  3. Считывается строка и сохраняется в переменной s.
  4. Множество m инициализируется пустым значением.
  5. Выводится сообщение Первые вхождения букв.
  6. Запускается цикл от 1 до длины строки (длину строки определяет функция length(s)).
  7. В каждой итерации цикла проверяется, есть ли текущая буква из строки в множестве m с помощью оператора in.
  8. Если текущая буква не найдена в множестве m, то она выводится на экран с помощью функции write(s[i]).
  9. После вывода буквы, она добавляется в множество m с помощью оператора +=, который добавляет элемент в множество и возвращает новое множество.
  10. Цикл завершается, когда все буквы из строки будут проверены.

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы