Урок 17. Задача 9.

Урок 17. Задача 9.

Пользователь вводит исходную строку s.
Ваша программа должна вернуть другую строку, в которой все смежные (соседние) повторяющиеся символы должны быть "удалены" (т.е. повторов в новой строке быть не должно).

var s, s_2 :string;
    i :integer;
 
begin
  s := 'b5ghh55788oooggttttt';
  s_2 := s[1];
  for i := 1 to length(s) do
    if s[i] <> s[i + 1] then
      s_2 := s_2 + s[i + 1];
  writeln(s_2);
end.
vedro-compota's picture

выходить за массив нельзя

_____________
матфак вгу и остальная классика =)

var s, s_2 :string;
    i :integer;

begin
  s := 'b5ghh55788oooggttttt';
  s_2 := s[1];
  for i := 2 to length(s) do
    if s[i] <> s[i - 1] then
      s_2 := s_2 + s[i];
  writeln(s_2);
  readln();
end.
vedro-compota's picture

переписать с поддержкой пустой строки

_____________
матфак вгу и остальная классика =)

var s, s_2 :string;
    i :integer;
 
begin
  s := 'b5ghh55788oooggttttt';
  s_2 := '';
  if s <> s_2 then
  begin
    for i := 2 to length(s) do
      if s[i] <> s[i - 1] then
      s_2 := s_2 + s[i];
    writeln(s_2);
  end
  else
    write('String is empty');
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)