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