Вводится текст, разбитый на две строки знаком «;». Удалить из этой пары строк все повторяющиеся символы, общие для этой пары строк — Pascal(Паскаль)

Вывести на экран исходный текст и результат его преобразования.

Program PascalGuru;

label 1, 2, 3;

var
  s, s1, s2: string;
  i, j, p: integer;
  b: boolean;

begin
  write('Vvedite stroky razdelennuyu ";": ');
  readln(s);

  p := pos(';', s);
  s1 := copy(s, 1, p - 1);
  s2 := copy(s, p + 1, length(s) - p);

1:
  for i := 1 to length(s1) do
  begin
    b := true;
    for j := 1 to length(s1) do
      if (i <> j) and (s1[j] = s1[i]) then
        b := false;
    if b then
    begin
      delete(s1, i, 1);
      goto 1;
    end;
  end;

2:
  for i := 1 to length(s2) do
  begin
    b := true;
    for j := 1 to length(s2) do
      if (i <> j) and (s2[j] = s2[i]) then
        b := false;
    if b then
    begin
      delete(s2, i, 1);
      goto 1;
    end;
  end;

3:
  for i := 1 to length(s) do
    if s[i] <> ';' then
      if (pos(s[i], s1) <> 0) and (pos(s[i], s2) <> 0) then
      begin
        for j := 1 to length(s) do
          if s[i] = s[j] then
            delete(s, j, 1);
        goto 3;
      end;

  writeln('Preobrazovannaya stroka: ', s);
  readln;

end.

Leave a Comment

+ 24 = 31