Форум программистов, компьютерный форум CyberForum.ru

Формула Шеннона "Энтропия, бит" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простое уравнение (очень нужно побыстрее) http://www.cyberforum.ru/cpp-beginners/thread1531185.html
Петя нашёл в книге простое математическое уравнение: a*x + b*y = 1. Его интересуют только целочисленные решения этого уравнения и только те, в которых x ≥ 0. Помогите Пете их найти. Входные данные В первой строке задано количество примеров t, которые нужно решить Пете (0 < t < 21), а в последующих t строках по два числа через пробел: aиb (0 ≤ a, b≤ 231). Выходные даннные
C++ Генерация рандомных чисел от 1 до 6 Простая программка, заготовка к игре морской бой на 6 клеток, суть в том, что человек вводит число от одного до 6, программа говорит, попал он или нет Не могу настроить рандом, что выдавал число от 1 до 6 #include <iostream> using namespace std; int main () http://www.cyberforum.ru/cpp-beginners/thread1531176.html
Определить количество плиток, чтобы замостить пол C++
Для того, чтобы замостить пол прямоугольной комнаты размерами AxB мастера решили приобрести квадратные плитки со стороной C. В магазине оказалось, что по сниженной цене можно приобрести поврежденные плитки такого же размера. Поэтому решили как можно большую площадь замостить целыми плитками, а для остальной площади использовать поврежденные, разрезая их на прямоугольные части нужных размеров....
C++ Вычисления значений функций
Мне была поставлена задача - вычислить значение функции. F(x)=\begin{cases} -x^2-9 & \text{ , } x \ge 13 \\ -\frac{1}{x^2+9} & \text{ , } x \lt 13 \end{cases} Программа вроде правильно работает, но не считает "0" - пишет "-inf". В чем может быть проблема? #include<iostream>
C++ Не запускается проект в NetBeans http://www.cyberforum.ru/cpp-beginners/thread1531108.html
Был поставлен cygwin и указан путь до bin, после чего NetBeans сам указал компилятор и т.д. (рисунок) проект даже скомпилировался, но не запускается, говорит: "java.lang.NullPointerException ВЫПОЛНЕНИЕ FAILED (значение выхода -2,, общее время: 46ms)" Что еще не сделано для полноценного запуска проекта? Почему так происходит? Что делать? И почему Java?
C++ Скомпилировать программу, добавив в нее код библиотеки Добрый день! Подскажите пожалуйста, как компилятором g++ скомпилировать программу добавив в нее код библиотеки. Ситуация следующая, на машине в которой пишу и запускаю код программа работает, но при переносе на другую машину программа требует библиотеки. На машанах где будет работать в дальнейшем код очень не хочется создавать лишние каталоги и копировать библиотеки. подробнее

Показать сообщение отдельно
nmcf
4922 / 4260 / 1426
Регистрация: 14.04.2014
Сообщений: 16,749
16.09.2015, 15:52     Формула Шеннона "Энтропия, бит"
Функцию сам допили.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <fstream>
#include <cstdlib>
 
int main()
{
    int f[256], len;
    double p[256], h;
    unsigned char * data;
 
    std::fill(f, f + 256, 0);
 
    std::ifstream ifs("data.txt", std::ifstream::binary);
    ifs.seekg(0, ifs.end);
    len = ifs.tellg();
    ifs.seekg(0, ifs.beg);
 
    data = new unsigned char[len];
    ifs.read(reinterpret_cast<char *>(data), len);
    ifs.close();
 
    for (int i = 0; i < len; ++i) ++f[data[i]];
 
    delete[] data;
 
    h = 0;
    for (int i = 0; i < 256; ++i)
    {
        if (f[i] == 0) continue;
        p[i] = static_cast<double>(f[i]) / len;
        h += (log10(1.0 / p[i]) / log10(2.0)) * p[i];
    }
 
    std::cout << h << endl;
 
    system("pause");
}
 
Текущее время: 15:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru