Первые символы кода — «•–» — могут кодировать только букву А. С символа «–» начинается только буква Д. Следующей буквой может быть либо буква А, либо буква Л, однако, буква А нам не подходит, поскольку в таком случае дальнейшая расшифровка невозможна. Комбинация «–» соответствует букве Т, «–••» — букве Д, «•–» — букве А. Итак, шифром закодировано сообщение АДЛТДДТАТ.
Вот ещё на заметку приложил фотографию. Я разбиваю сообщение на буквы и ищу существующую цепочку.
Var sme: byte; arrIn: array of byte; boolEncode: boolean; arrOut: System.Collections.Generic.List<byte> := new System.Collections.Generic.List<byte>();
begin writeln('1 - encode; 2 - decode'); readln(sme); boolEncode := (sme = 1); write('Смещение: '); readln(sme); arrIn := System.IO.File.ReadAllBytes('out.txt'); foreach f: byte in arrIn do arrOut.Add(f + (boolEncode ? -1 : 1) * sme); System.IO.File.WriteAllBytes('out1.txt', arrOut.ToArray()); end.
Алфавит, это, конечно, хорошо, но, бесспорно, будет лучше сделать более универтально: алфавит не только русским будет, ещё пункт. знаки, цЫфры, иврит...:)
1-4
2-3
4-1
3-2
Объяснение:Правильно 100%