В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
katyaprodan
katyaprodan
12.09.2022 01:42 •  Информатика

По каналу связи передаются сообщения, содержащие только шесть букв: А, Б, В, Г, Д, Е; для передачи используется двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В, Г, Д используются такие кодовые слова: А – 111; Б – 011; В – 10; Г – 001; Д – 000. Укажите кратчайшее кодовое слово для буквы Е, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением. Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

Показать ответ
Ответ:
sweater22weather
sweater22weather
12.12.2021 16:23

должно по идее получиться "нет худо без добра.", но у меня получилось

"нет худо бrз одра." может ты в условии что-то напутала? вот программа которая переводит

 

function Pow(a, x:integer):integer;
var
  rez, i:integer;
begin
  rez := 1;
  for i := 1 to x do
    rez := rez * a;
  Pow := rez;
end;

function BinToDec(a:string):integer;
var
i ,r:integer;
begin
  r := 0;
  for i := length(a) downto 1 do
    r := r + StrToInt(a[i]) * Pow(2, length(a) - i);

  BinToDec := r;
end;

var
  s:array[1..100] of string;
  i:integer;
begin
  s[1] := '11001101';
  s[2] := '11100101';
  s[3] := '11110010';
  s[4] := '00100000';
  s[5] := '11110101';
  s[6] := '11110011';
  s[7] := '11100100';
  s[8] := '11100000';
  s[9] := '00100000';
  s[10] := '11100001';
  s[11] := '1110010';
  s[12] := '11100111';
  s[13] := '00100000';
  s[14] := '11101110';
  s[15] := '11100001';
  s[16] := '11110000';
  s[17] := '11100000';
  s[18] := '00101110';
  for i := 1 to 18 do
    write(chr(BinToDec(s[i])));
end.

0,0(0 оценок)
Ответ:
Gok67
Gok67
03.03.2021 12:37

#include <iostream>

using namespace std;

int main()

{

int a[12] = {}, b = 100;

for(int i = 0; i < 12; i++) {

 cout << "Input a[" << i << "]: ";

 cin >> a[i];

 if ((a[i] % 2 == 1) && (a[i] > 0) && (9 < a[i]) && (a[i] < 100) && (a[i] < b))

  b = a[i];

}

if (b == 100) {

 cout << "Numbers do not satisfy the condition";

 return 1;

}

else cout << "The given number is " << b;

return 0;

}

//Так как Tab'ы временно не сохраняются в редакторе, прилагаю .cpp файл. Язык С++

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота