Удалить в каждом слове повторяющиеся символы (проверьте правильность) - Turbo Pascal

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

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

Вот предложение: "Дана строка. Группы символов, разделенные пробелами и не содержащие пробелы внутри себя, будем называть словами." Написать программу, удаляющую в каждом слове повторяющиеся символы.
Листинг программы
  1. uses crt;
  2. var s:string;
  3. i,j:byte;
  4. begin
  5. clrscr;
  6. writeln('Vvedite predlojenie');
  7. readln(s);
  8. i:=1;
  9. while i<length(s) do
  10. if s[i]<>' ' then
  11. begin
  12. for j:=length(s) downto i+1 do
  13. if s[j]=s[i] then delete(s,j,1);
  14. i:=i+1;
  15. end
  16. else i:=i+1;
  17. write(s);
  18. readln
  19. end.

Решение задачи: «Удалить в каждом слове повторяющиеся символы (проверьте правильность)»

textual
Листинг программы
  1. var s: string;
  2.     i: integer;
  3.     m: set of char;
  4. begin
  5.   writeln('Введите строку:');
  6.   readln(s);
  7.   m := [];
  8.   i := 1;
  9.   while i <= length(s) do
  10.     if s[i] in m
  11.       then delete(s, i, 1)
  12.       else begin
  13.         if s[i] = ' '
  14.           then m := []
  15.           else include(m, s[i]);
  16.         inc(i)
  17.       end;
  18.   writeln('Результат:');
  19.   writeln(s);
  20.   readln
  21. end.

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

  1. Вводится строка с помощью функции readln.
  2. Создается пустое множество символов m.
  3. Инициализируется переменная i, которая будет использоваться как счетчик символов.
  4. Запускается цикл while, который будет выполняться до тех пор, пока i меньше или равно длине входной строки s.
  5. Внутри цикла проверяется, есть ли текущий символ s[i] в множестве m.
  6. Если символ присутствует в m, то он удаляется из строки s с помощью функции delete.
  7. Если символ отсутствует в m, то он добавляется в m.
  8. После завершения цикла while выводится результат на экран с помощью функции writeln.
  9. Завершается программа вызовом функции readln для чтения следующего ввода.

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


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

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

12   голосов , оценка 3.667 из 5

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

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

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