11. все глухие согласные буквы, которые не входят только в одно слово.(

КотикОцелотик1 КотикОцелотик1    1   22.11.2019 18:02    0

Ответы
лиод1 лиод1  10.10.2020 15:07

uses crt;

const

gl=['к','п','с','т','ф','х','ц','ч','ш','щ','К','П','С','Т','Ф','Х','Ц','Ч','Ш','Щ'];{глухие согласные}

bk:string='КкПпСсТтФфХхЦцЧчШшЩщ';

type mnoz=set of char;

var  s,s1:string;

    m:array[1..100] of mnoz;{массив множеств}

    mn,mn1:mnoz;

    n,i,j:byte;

begin

clrscr;

repeat

writeln('Введите текст на русском языке, между словами пробелы:');

readln(s);

if pos(' ',s)=0 then

writeln('В предложении только одно слово. Повторите ввод.');

until pos(' ',s)>0;

s:=s+' ';{добавим пробел в конец}

n:=0;

while pos(' ',s)>0 do{создаем массив множеств}

begin

 s1:=copy(s,1,pos(' ',s)-1);{копируем очередное слово}

 n:=n+1;{считаем}

 m[n]:=[];{создаем множество}

 for j:=1 to length(s1) do

 if s1[j] in gl then m[n]:=m[n]+[s1[j]];{из его букв по условию}

 delete(s,1,pos(' ',s));{удаляем это слово}

end;

mn1:=[];{множество букв, не входящих только в одно число}

for i:=1 to n do{для каждого множества }

begin

 mn:=[];

 for j:=1 to n do

 if j<>i then mn:=mn+m[j];{делаем множество из букв, котoрые входят в другие числа}

 mn1:=mn1+(m[i]*mn);{добавляем буквы, которые есть и в других словах}

end;

if mn1=[] then writeln('Букв, которые не входят только в одно слово, нет!')

else

begin

 writeln('Буквы, которые не входят только в одно слово:');

 for i:=1 to length(bk) do{идем по алфавиту,

 если буква есть в строке, но ее нет в котором по разу, выводим}

 if (bk[i] in mn1) then write(bk[i],' ');

end;

readln

end.

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика