1) begin var s1:=ReadlnString('Текст:'); Writeln('k = ',s1.Where(c->Pos(c,'01')>0).Count); var s2:=s1.Select(c->c='0'?'A':c).Select(c->c='1'?'M':c); s2.Println; end.
Пример: Текст: Текст с 1 и 0: 110+101=1011 k = 12 Текст с M и A: MMA+MAM=MAMM
2) var s1,s2:string; i,k:integer; begin writeln('Введите текст:'); readln(s1); k:=0; s2:=''; for i:=1 to length(s1) do if s1[i]='0' then begin s2:=s2+'A'; k:=k+1; end else if s1[i]='1' then begin s2:=s2+'M'; k:=k+1; end else s2:=s2+s1[i]; writeln(s2); writeln('k = ',k); end.
Пример: Введите текст: Текст с 1 и 0: 110+101=1011 Текст с M и A: MMA+MAM=MAMM k = 12
Answers & Comments
Verified answer
1)begin
var s1:=ReadlnString('Текст:');
Writeln('k = ',s1.Where(c->Pos(c,'01')>0).Count);
var s2:=s1.Select(c->c='0'?'A':c).Select(c->c='1'?'M':c);
s2.Println;
end.
Пример:
Текст: Текст с 1 и 0: 110+101=1011
k = 12
Текст с M и A: MMA+MAM=MAMM
2)
var s1,s2:string;
i,k:integer;
begin
writeln('Введите текст:');
readln(s1);
k:=0;
s2:='';
for i:=1 to length(s1) do
if s1[i]='0'
then begin s2:=s2+'A'; k:=k+1; end
else if s1[i]='1' then begin s2:=s2+'M'; k:=k+1; end else s2:=s2+s1[i];
writeln(s2);
writeln('k = ',k);
end.
Пример:
Введите текст:
Текст с 1 и 0: 110+101=1011
Текст с M и A: MMA+MAM=MAMM
k = 12