Показать сообщение отдельно
  #11  
Старый 15.05.2009, 20:12
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Пятая задача — на множества, если я правильно поняла. Причем там не просто любые согласные, а именно глухие трубуются.
Код:
procedure GetUnvoiced(Str: string);
type
  TUnvoiced = set of Char;
const
  // всевозможные глухие
  Unvoiced: TUnvoiced = ['к', 'п', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ'];
var
  i, Len: Integer;
  y, y1: TUnvoiced;
  j: Char;
begin
  y := []; y1 := [];
  Len := Length(Str);
  Str := LowerCase(Str);

  // формируем множество y
  for i := 1 to Len do y := y + [Str[i]];

  // выделяем из него множество глухих согласных
  y1 := y * Unvoiced;

  // можно показать результат...
  Str := '';
  for j := 'к' to 'щ' do
    if (j in y1) then Str := Str + j + #13#10;
  ShowMessage(Str);
end;
Процедура в качестве параметра принимает строку, из которой формируются множества y и y1.
Ответить с цитированием