| Simbiosis 
 
  
 Newbie
 | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Algofil
 млин.. сделал жеж я ту задачку по твоему алгоритму и забросил ее... Седня решил все это дело сдать, а препод говорит типа не правильно она работает
 напомню мою задачу...
 
 Цитата:
 | Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфа-витном порядке глухие согласные буквы (к, п, с, т, ф, х, ц, ч, ш, щ), которые вхо-дят в каждое нечетное слово и не входят хотя бы в одно четное слово. | 
 вообщем сама прога:
 
 Код:
 | program lab2_1; uses crt;
 type letters=set of char;
 mass=array[1..30] of string;
 const empty:letters=[];
 var Deafs,setX:letters;
 str:string;
 M:mass;
 F_InTen,F_NoTest:boolean;
 k,kol_slov:byte;
 
 procedure Init(s:string;var X:mass;var c:byte);
 var i,l:integer;
 begin
 l:=length(s);
 c:=1;
 for i:=1 to l-1 do
 if (s[i]<>',') and (s[i]<>'.') then
 X[c]:=X[c]+s[i]
 else
 begin
 inc(c);
 X[c]:='';
 end;
 end;
 
 function Set_Letters(slovo:string):letters;
 var i:byte;
 tmp:letters;
 begin
 for i:=1 to length(slovo) do
 include(tmp,slovo[i]);
 Set_Letters:=tmp;
 end;
 
 procedure Output;
 var i:byte;
 begin
 setX:=Deafs;
 write('[');
 for i:=1 to length(str) do
 if (str[i] in Deafs) and (str[i] in setX) then
 begin
 exclude(setX,str[i]);
 if setX=[] then write(str[i],']')
 else write(str[i],',');
 end;
 end;
 
 begin
 clrscr;
 writeln('Please, input the text: ');
 readln(str);
 Init(str,M,kol_slov);
 F_InTen:=true;
 F_NoTest:=false;
 Deafs:=['к','п','с','т','ф','х','ц','ч','ш','щ'];
 for k:=1 to kol_slov do
 begin
 if odd(k) and (Deafs*Set_Letters(M[k])=empty) then F_InTen:=false
 else Deafs:=Deafs*Set_Letters(M[k]);
 if not odd(k) and (Deafs*Set_Letters(M[k])<>empty) then F_NoTest:=true;
 end;
 if F_InTen and F_NoTest then Output
 else writeln('Таких согласных нету!');
 readkey;
 end.
 | 
 пожалуста помоги исправить недочеты))
 |