Пятая задача — на множества, если я правильно поняла. Причем там не просто любые согласные, а именно глухие трубуются.
Код:
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.