Вывести на экран те символы, которые встречаются два раза - Free Pascal

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

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

Лабораторная работа 6. Строки в Паскале Задание (Вариант 12): Дана последовательность символов. Вывести на экран те из них, которые встречаются два раза

Решение задачи: «Вывести на экран те символы, которые встречаются два раза»

textual
Листинг программы
uses strutils;
var
  s, res : string;
  i : integer;
begin
  s := 'hello, world, e'; // ну, или Readln(s);
  res := '';
  for i := 1 to length(s) do
    if (npos(s[i], s, 2) > 0) and (npos(s[i], s, 3) = 0)
       and (pos(s[i], res) = 0) then res := res + s[i];
 
  writeln('Символы, повторяющиеся 2 раза:', res);
end.

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

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

  1. Переменная s содержит строку, которую необходимо проанализировать.
  2. Переменная res инициализируется пустой строкой, в которую будут добавляться символы, встречающиеся в строке s два раза.
  3. Переменная i инициализируется значением 1 и используется в цикле для прохода по всем символам строки s.
  4. В условии цикла проверяется, является ли текущий символ символом, который встречается два раза (npos(s[i], s, 2) > 0), но не является последним символом в строке (npos(s[i], s, 3) = 0) и не является первым символом в строке (pos(s[i], res) = 0). Если это так, то текущий символ добавляется в строку res.
  5. После прохода по всем символам в строке s, в переменной res останутся только те символы, которые встречаются два раза.
  6. Затем на экран выводится строка 'Символы, повторяющиеся 2 раза:' и значение переменной res.

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

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