Необходимо написать программу на Паскале, которая будет удалять из строки все стоящие подряд одинаковые элементы, если их больше 2. Примеры: aabbbc -> aac; aabbbac -> c;
Пример реализации данной программы на языке Паскаль:
program RemoveDuplicates; var inputStr, resultStr: string; i, countDuplicates: integer; currentChar: char; begin writeln('Enter a string: '); readln(inputStr); resultStr := ''; countDuplicates := 1; currentChar := inputStr[1]; for i := 2 to Length(inputStr) do begin if inputStr[i] = currentChar then begin Inc(countDuplicates); end else begin if countDuplicates < 2 then begin resultStr := resultStr + StringOfChar(currentChar, countDuplicates); end; currentChar := inputStr[i]; countDuplicates := 1; end; end; if countDuplicates < 2 then begin resultStr := resultStr + StringOfChar(currentChar, countDuplicates); end; writeln('Result: ', resultStr); end.
После запуска программы необходимо ввести строку, которую нужно обработать. Программа выведет результат - строку без подряд идущих одинаковых символов, повторяющихся более 2 раз.
Пример реализации данной программы на языке Паскаль:
program RemoveDuplicates;var
inputStr, resultStr: string;
i, countDuplicates: integer;
currentChar: char;
begin
writeln('Enter a string: ');
readln(inputStr);
resultStr := '';
countDuplicates := 1;
currentChar := inputStr[1];
for i := 2 to Length(inputStr) do
begin
if inputStr[i] = currentChar then
begin
Inc(countDuplicates);
end
else
begin
if countDuplicates < 2 then
begin
resultStr := resultStr + StringOfChar(currentChar, countDuplicates);
end;
currentChar := inputStr[i];
countDuplicates := 1;
end;
end;
if countDuplicates < 2 then
begin
resultStr := resultStr + StringOfChar(currentChar, countDuplicates);
end;
writeln('Result: ', resultStr);
end.
После запуска программы необходимо ввести строку, которую нужно обработать. Программа выведет результат - строку без подряд идущих одинаковых символов, повторяющихся более 2 раз.