Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Слова


Автор: VinceDazy 14.6.2006, 19:09
Помогите пожалуйста решить задачу на паскале. Дана последовательность слов разделенных пробелом. Нужно создать множество из согласных букв входящих только в одно слово.  помогите....  

Автор: rasik 17.6.2006, 15:24
Решение :
Код

 uses CRT; 
 type TCharset=set of char; //тип нужен для роботы процедуры printcharset
 const ConsLetters:set of char=['b','c','d','f','g','h','j','k',
                               'l','m','n','p','q','r','s','t',
                               'v','w','x','z']; //множество гласных букв
 var UsedOnce:set of char; //множество букв исп. 1 раз
     Blacklist:set of char; //множество исп. букв
     c:char;

 procedure PrintCharset(C:TCharset);
   var i:integer;
  begin
   for i:=0 to 255 do
    if(chr(i) in C) then
     write(chr(i));
  end;

begin
 clrscr;
 while(c<>#13) do //пока не нажмем enter
  begin
   c:=readkey; //читаем символ
   write(c);
   if(c in ConsLetters) //если гласная буква
    then if(c in UsedOnce) //если уже есть в множестве то убираем ее и заносим в "чёрный список"
          then begin
                exclude(UsedOnce,c);
                include(BlackList,c);
               end
          else if(not(c in UsedOnce)and(not(c in BlackList))) //а если буквы нет ни в одном из множеств то добавляем в него ноую букву
                then include(UsedOnce,c);
  end;
 clrscr;
 PrintCharset(UsedOnce); //вывод на экран согласных букв входящих только в одно слово
end.
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)