Вариант для тех, кто любит и понимает множества. const cs='бвгджз'; var s:string; i:integer; c:char; p,csg:set of char; begin Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку'); Readln(s); p:=[]; for i:=1 to Length(cs) do Include(csg,cs[i]); { инициализация множества } s:=LowerCase(s); { приведение к нижнему регистру } i:=1; c:=s[1]; while c<>'.' do begin { обработка нечетного слова } while not (c in [',','.']) do begin if (c in csg) and not (c in p) then Include(p,c); i:=i+1; c:=s[i] end; { обработка четного слова } if c<>'.' then begin i:=i+1; c:=s[i] end; while not(c in [',','.']) do begin if (c in csg) and (c in p) then Exclude(p,c); i:=i+1; c:=s[i] end; if c<>'.' then begin i:=i+1; c:=s[i] end end; s:=''; for i:=1 to Length(cs) do if cs[i] in p then Write(cs[i]) end.
Тестовое решение: Введите текст, разделяя слова запятыми, в конце поставьте точку Это,пример,текста,созданного,для,проверки,программы. гд
Вариант для тех, кто с множествами не дружит: const cs='бвгджз'; var s,p:string; i,n:integer; c:char; begin Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку'); Readln(s); p:=''; n:=Length(cs); s:=LowerCase(s); { приведение к нижнему регистру } i:=1; c:=s[1]; while c<>'.' do begin { обработка нечетного слова } while (c<>',') and (c<>'.') do begin if (Pos(c,cs)>0) and (Pos(c,p)=0) then p:=p+c; i:=i+1; c:=s[i] end; { обработка четного слова } if c<>'.' then begin i:=i+1; c:=s[i] end; while (c<>',') and (c<>'.') do begin if (Pos(c,cs)>0) and (Pos(c,p)=1) then p[Pos(c,p)]:='*'; i:=i+1; c:=s[i] end; if c<>'.' then begin i:=i+1; c:=s[i] end end; for i:=1 to Length(cs) do if Pos(cs[i],p)>0 then Write(cs[i]) end.
Тестовое решение: Введите текст, разделяя слова запятыми, в конце поставьте точку Данная,фраза,предлагается,для,тестирования. вг
grekova5
22.12.2021
Задача 1, Pascal.ABC.Net
const sAlpha=''; sDigit='0123456789'; var c,c1:char; begin Write('Введите символ: '); Readln(c); c1:=LowerCase(c); if Pos(c1,sAlpha)>0 then Writeln('Введена буква ',c) else if Pos(c1,sDigit)>0 then Writeln('Введена цифра ',c) else Writeln('Введен спецсимвол ',c) end.
Программирование задачи №2 - большая работа, требующая многих часов, если не имеется готовых наработок для программирования шахматной игры. Давать подобные задачи для решения на данном Сервисе - бесполезное занятие, такое не задают даже на олимпиадах.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Таблица истинности сделать, откройте там 3 таких
const
cs='бвгджз';
var
s:string;
i:integer;
c:char;
p,csg:set of char;
begin
Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
Readln(s);
p:=[];
for i:=1 to Length(cs) do Include(csg,cs[i]); { инициализация множества }
s:=LowerCase(s); { приведение к нижнему регистру }
i:=1; c:=s[1];
while c<>'.' do begin
{ обработка нечетного слова }
while not (c in [',','.']) do begin
if (c in csg) and not (c in p) then Include(p,c);
i:=i+1;
c:=s[i]
end;
{ обработка четного слова }
if c<>'.' then begin i:=i+1; c:=s[i] end;
while not(c in [',','.']) do begin
if (c in csg) and (c in p) then Exclude(p,c);
i:=i+1;
c:=s[i]
end;
if c<>'.' then begin i:=i+1; c:=s[i] end
end;
s:='';
for i:=1 to Length(cs) do if cs[i] in p then Write(cs[i])
end.
Тестовое решение:
Введите текст, разделяя слова запятыми, в конце поставьте точку
Это,пример,текста,созданного,для,проверки,программы.
гд
Вариант для тех, кто с множествами не дружит:
const
cs='бвгджз';
var
s,p:string;
i,n:integer;
c:char;
begin
Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
Readln(s);
p:=''; n:=Length(cs);
s:=LowerCase(s); { приведение к нижнему регистру }
i:=1; c:=s[1];
while c<>'.' do begin
{ обработка нечетного слова }
while (c<>',') and (c<>'.') do begin
if (Pos(c,cs)>0) and (Pos(c,p)=0) then p:=p+c;
i:=i+1;
c:=s[i]
end;
{ обработка четного слова }
if c<>'.' then begin i:=i+1; c:=s[i] end;
while (c<>',') and (c<>'.') do begin
if (Pos(c,cs)>0) and (Pos(c,p)=1) then p[Pos(c,p)]:='*';
i:=i+1;
c:=s[i]
end;
if c<>'.' then begin i:=i+1; c:=s[i] end
end;
for i:=1 to Length(cs) do if Pos(cs[i],p)>0 then Write(cs[i])
end.
Тестовое решение:
Введите текст, разделяя слова запятыми, в конце поставьте точку
Данная,фраза,предлагается,для,тестирования.
вг