Небходимо перевести элементы массива в двоичную систему счисления и высчитать среднюю длину

Есть следующее задание:"Кодирование сообщений 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;
    }

    
}

Нужно десятичные числа которые вводятся с клавиатуры перевести в двоичный код и вывести их на экран, а затем найти среднюю длину закодированных сообщений.


Ответы (0 шт):