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. | пожалуста помоги исправить недочеты)) |