Народ помогите, а то я чето туплю
пусть даны три слова. необходимо определить буквы, которые встречаются во всех 3 словах (для нахождения множества символов, образующих слово, используйте процедуру).
Заранее спасибо.
type mnog=set of char;
var mn1,mn2,mn3: mnog;
s1,s2,s3: string;
ch: char;
procedure StrToSet(const s: string; var mn: mnog);
var i: byte;
begin
mn:=[];
for i:=1 to length(s) do
include(mn,s[i]);
end;
begin
s1:='abcd'; {можешь сделать ввод и с клавиатуры... }
s2:='dafa';
s3:='klfd';
StrToSet(s1,mn1);
StrToSet(s2,mn2);
StrToSet(s3,mn3);
mn1:=mn1*mn2*mn3;
for ch:='a' to 'z' do {можешь добавить A..Z и что тебе еще нужно}
if ch in mn1 then
writeln(ch);
readln;
end.
function GetChars(const a, b, c: String): String;
var
res: String;
i: Byte;
begin
res := '';
for i := 1 to Length(a) do
if (Pos(a[i], b) * Pos(a[i], c) > 0) and (Pos(a[i], res) = 0)then
res := res + a[i];
GetChars := res;
end;
var
s1, s2, s3: String;
begin
readln(s1); readln(s2); readln(s3);
writeln(GetChars(s1, s2, s3));
end.
procedure GetChars(const a, b, c: String);
var
i: Byte;
begin
for i := 1 to Length(a) do
if (Pos(a[i], b) * Pos(a[i], c) > 0) and
(Pos(a[i], copy(a, 1, i - 1)) = 0) then writeln(a[i]);
end;
var
s1, s2, s3: String;
begin
readln(s1); readln(s2); readln(s3);
GetChars(s1, s2, s3);
end.