var t:string;
q:char;
i,j,n:integer;
begin
readln(n);
readln(t);
for i:=1 to n do
q:=t[i];
for j:=1 to n do
if (j<>i) and (q<>t[j]) then
writeln(q);
readln;
end.
Потому что тебе надо найти подмножество, а не просто перебирать...
Тоесть:
for i:=1 to n do
begin
q:=t[i];
for j:= i to n do
if (j<>i) and ( q = t[j] )
begin
for k :=j to n
begin
i := i+1;
if ( t[i] <> t[k] )
writeln(t[k]);
end
end
end.
// это псевдо код, не помню точный синтаксис паскаля и компилятора под рукой нету...
Потому что тебе надо найти подмножество, а не просто перебирать...
Тоесть:
for i:=1 to n do
begin
q:=t[i];
for j:= i to n do
if (j<>i) and ( q = t[j] )
begin
for k :=j to n
begin
i := i+1;
if ( t[i] <> t[k] )
writeln(t[k]);
end
end
end.
нельзя изменять переменную цикла внутри этого цикла
нельзя изменять переменную цикла внутри этого цикла
Ну замените ее другой, я говорю то псевдокод...
Наверно будет проще алгоритм объяснить:
берем 1й символ и ищем его повтор в строке, допустим мы его нашли на позиции K в массиве T.
тогда все символы от 1 до K-1 должны быть на позициях от K до 2K-1. Если символ не совпадает значит мы нашли недостающий символ
Ну замените ее другой, я говорю то псевдокод...
Наверно будет проще алгоритм объяснить:
берем 1й символ и ищем его повтор в строке, допустим мы его нашли на позиции K в массиве T.
тогда все символы от 1 до K-1 должны быть на позициях от K до 2K-1. Если символ не совпадает значит мы нашли недостающий символ