Помощь - Поиск - Пользователи - Календарь
Полная версия: ПРОЦЕДУРА
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
sds
Народ помогите, а то я чето туплю

пусть даны три слова. необходимо определить буквы, которые встречаются во всех 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.
klem4
Или вот так:

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.

мисс_граффити
Не совсем по заданию sad.gif
Цитата
для нахождения множества символов, образующих слово, используйте процедуру
klem4
Ну это ведь не значит что нужно именно тип _множество_ использовать.
volvo
Цитата
для нахождения множества символов, образующих слово, используйте процедуру
Это по-твоему значит, что надо использовать функцию?
klem4
ой smile.gif

тогда можно вот так:

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.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.