Небходимо перевести элементы массива в двоичную систему счисления и высчитать среднюю длину
Есть следующее задание:"Кодирование сообщений s1,…,sM с вероятностями появления p1,…,pM любым кодом. Вычисление средней длины кодового слова."
#include "pch.h"
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "RU");
int kol;
cout << "Сколько сообщений вы хотите ввести?" << endl;
cin >> kol;
cout << "Введите сообщения: " << endl;
int* a = new int[kol];
for (int i = 0; i < kol; i++)
{
cout << i+1 << "сообщение:";
cin >> a[i];
}
cout << "Вероятность:" << endl;
float* p = new float[kol];
for (int j = 1; j <= kol; j++)
{
p[j] = (2 * (float)j) / (kol*(kol + 1));
cout << "Вероятность сообщения " << j << " = " << p[j]<<endl;
}
}
Нужно десятичные числа которые вводятся с клавиатуры перевести в двоичный код и вывести их на экран, а затем найти среднюю длину закодированных сообщений.