akulkaeva78
07.12.2020 22:31

Var s: string;

k, i: integer;

begin

readln(s);

k := 0;

for i := 1 to length(s) do

if s[i] = 'a' then

begin

s[i] := 'b';

k := k + 1;

end

else if s[i] = 'A' then

begin

s[i] := 'B';

k := k + 1;

end;

writeln(s);

writeln(k);

end.
даю все

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Mila19911
26.01.2023 00:32

Нам важно однозначное разбиение, поэтому вариант "00" не подходит, так как его можно спутать с буквой "Б". Другие значение проверим при дерева.


1. Пусть буква "Г" будет записана в первую ветку (1). Распишем ее.

Первой ветке подходит буква "В", так как код начинается с единицы. Рисуем еще ветку, также с единицей и нулем. Получается, что "В" пойдет во вторую ветку (0), а "Г", соответственно, в первую. Итого получаем: В = 10, Г = 11.


2) Пусть "Г" будет во второй ветке (0). С нуля начинаются буквы "А" и "Б", поэтому их тоже пишем. Рисуем еще две ветки. Так как А = 01, то она пойдет в первую ветку, буквы "Б" и "Г" пишем во вторую. "Б" = 000, поэтому пишем во вторую ветку, следовательно, "Г" пойдет в первую. Итого: А = 01, Б = 000, Г = 001.


Теперь сравним полученные значения. Переведем их в десятичную систему счисления.

11₂ = 1*2¹ + 1*2⁰ = 2 + 1 = 3₁₀.

001₂ = 1*0² + 1*0¹ + 1*2⁰ = 0 + 0 + 1 = 1₁₀.


В итоге, значение 001 является минимальным и соответствует однозначному декодированию.


ответ: 001.


Решение смотри во вложении.


Для передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать не
0,0(0 оценок)
Ответ:
megadruzhinins
27.03.2022 13:36
Program ZvonPOBEDITEL;var i,n,k,i_1,i_2,d_1,d_2: integer;c: char;s,s_1,s_2: string;begin i_1:=0; i_2:=0; d_1:=1; d_2:=1; readln(n); for i:=1 to n do begin  c:='a';  s:='';  while c<>' ' do  begin   read(c);   s:=s+c;  end;  read(c);  while c<>' ' do  begin   s:=s+c;   read(c);  end;  read(c);  while c<>' ' do  begin   read(c);  end;  readln(k);  if (k=i_1) and (i<>1) then d_1:=d_1+1;  if k>i_1 then   begin   i_2:=i_1;   i_1:=k;   s_2:=s_1;   s_1:=s;   d_2:=d_1;   d_1:=1;  end;  if (k=i_2) and (i<>1) then d_2:=d_2+1;  if (k>i_2) and (k<i_1) then   begin    i_2:=k;   s_2:=s;   d_2:=1;  end; end; if (i_1<=200) and (d_1=1) then writeln(s_1); if (i_1<=200) and (d_1<>1)then writeln(d_1); if (i_1>200) and (d_2=1) then writeln(s_2); if (i_1>200) and (d_2<>1) then writeln (d_2);end. Это сугубо мое решение за копирайтинг отвешу люлей. И к тому же сдесь есть одна ошибка о которой знаю только я, так сказать один из частных случаев здесь не прощитывается, по этому поломайте голову, Ха-Ха-Ха...
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота