();> symbol = 0;
// замість двох викинутих ел-т записуємо новий
Tree_vector.push_back (temp);}
main_tree = Tree_vector [0];// запам'ятовуємо покажчик на корінь дерева
} Coding_Tree (Tree * a)// кодуємо дерево Хаффмана
{(a-> left_son! = NULL)// якщо у вузла є лівий син
{. push_back (0);// додаємо в рядок коду 0_Tree (a-> left_son);// рекурсивно повторюємо операції
} (a-> right_son! = NULL)// якщо у вузла є правий син
{. push_back (1);// додаємо в рядок коду 1
Coding_Tree (a-> right_son);
}
// якщо у вузла немає синів, то:
char c = a-> symbol;
(int i = 0; i
{(symbol_vector [i]. symbol == c)// шукаємо ел-т з знайденим символом
{
symbol_vector [i]. code = code;// і присвоюємо йому "зібраний" код
}
} (code.size ()! = 0). pop_back ();// викидаємо з рядка коду останній ел-т
} Print_Symbol_Codes ()// вивести на екран коди символів
{<<" n nКоди символів: n";
for (int i = 0; i
}
} Print_Coded_Text ()// вивести на екран закодований текст
{input_file ("Input.txt");
cout <<" nТекст в двійковому поданні: n";
while (! input_file.eof ())
{read_symbol = input_file.get (); (! input_file.eof ())
{(int i = 0; i
{(read_symbol == symbol_vector [i]. symbol)
{ for (int j = 0; j
}
}
}
} _file.close ();
} Binary_Writing ()// записати в бінарний файл
{input_file ("Input.txt"); output_file ("Output.bin"); count = 0; char buf = 0; (! input_file.eof ())
{read_symbol = input_file.get (); (! input_file.eof ())
{(int i = 0; i
{(read_symbol == symbol_vector [i]. symbol)
{(int j = 0; j
{= buf | symbol_vector [i]. code [j] <<(7-count); + +; (count == 8)
{ cou...