ПАСКАЛЬ.ПОМОГИТЕ ПОЖАЛУЙСТА.Дана не пустая последовательность слов из строчных русских букв,между соседними словами пробел, за последним словом точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечётное слово и в то же время не входят в каждое чётное слово. А ещё написать текст программы так, чтобы всё правильно работало если пробелов будет несколько. И если текст, который ввели не удолетворяет условиям, то должно выдасть ошибку. В тексте программы можно использовать подпрограммы, множества и т.д. Но нельзя использовать модули.
Answers & Comments
Verified answer
Var s:string;m,mn,m1,m2:set of char;
i,k,l:integer;
begin
writeln('Введите последовательность русских слов:');
readln(s);
m:=['Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','Й','й','Л','л','М','м','Н','н','Р','р'];
k:=0;
for i:=1 to length(s) do
if not (s[i] in ['А'..'Я','а'..'я',' ','.']) then k:=k+1;
if k>0 then writeln('Ошибка ввода')
else begin
while pos(' ',s)>0 do delete(s,pos(' ',s),1);
if s[length(s)]='.' then s[length(s)]:=' ';
k:=0; mn:=[]; m1:=m; m2:=m;
for i:=1 to length(s) do
begin
mn:=mn+[s[i]];
if s[i]=' ' then
begin
k:=k+1;
if k mod 2=1 then m1:=m1*mn else m2:=m2*mn;
mn:=[];
end;
end;
mn:=m1-m2;
print(mn);
end;
end.
Пример:
Введите последовательность русских слов:
напечатать в алфавитном порядке звонкие буквы.
{н}