Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/48: Рейтинг темы: голосов - 48, средняя оценка - 4.71
 Аватар для Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118

Энтропия файла

18.11.2012, 13:16. Показов 9967. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Взгляните опытным взглядом на код. Может в самом коде ошибка не связанная с типом результата.
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
38
39
40
void entropy(void)
{
    FILE *pf = NULL;
    char file[SIZE];
    int     ch, i, total = 0;
    int     code[256] = {0};
    float   entr = 0;
 
    Messages(2);
    printf("\n\n");
    system("DIR /a:-d");
    
    
    printf("\n Введите имя файла: ");
    gets(file);
    pf = fopen(file, "rt"); // Открытие файла для чтения
    if(pf == NULL)
    {
        Messages(3);
        printf("\n Выбрать файл (ENTER) / Выход в меню (ESC)");
        if(getch() == 27)
            menu();
        else
            entropy();
    }
    while((ch = fgetc(pf)) != EOF)
    {
        code[ch]++;
        ch = fgetc(pf);
    }
 
    for(i = 0; i < 256; i++)
        total += code[i];
 
    for(i = 0; i < 256; i++)
        entr -= code[i]*log(((float)code[i])/total);
    entr /= log(2);
    printf("\n Энтрония: %6.3f ", entr);
    getch();
}
Результат работы программы, подскажите в чем может быть причина ошибки. Вероятно это связано с типом float и отображением результата.

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2012, 13:16
Ответы с готовыми решениями:

Что такое энтропия файла
Часто встречается подобный термин, в некоторых программах бывает(PEiD например). А что она из себя представляет, эта энтропия? ...

Энтропия
энтропия 1г азота при 25 градусах и давлении 10^5 Па равна 6,84 Дж/г*К. Определить энтропию 2г азота при температуре 100 градусов цельсия и...

Энтропия
Определить энтропию системы, которая может находиться в одном из 5 состояний, 4 из которых равновероятны, а вероятность пятого состояния...

40
 Аватар для Bugrimov
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 118
18.11.2012, 23:24  [ТС]
Студворк — интернет-сервис помощи студентам
Не уверен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2012, 23:24
Помогаю со студенческими работами здесь

Энтропия
Задание 1. Подсчитайте энтропию русского алфавита и алфавита, состоящего из 16разрядных двоичных символов. Задание 2. Сообщение строится...

Энтропия
Мужики, где тут идет вычисление энтропии? uses crt; var source:text; pr:string; { pseudosluchaynaya posledovatelnost} ...

Энтропия
Нагреватель, сохраняющий постоянную температуру 100оС(неограниченный тепловой резервуар) приводится в контакт с запаянным сосудом, в...

энтропия
Доброго времени суток. Нужно создать форму на которой будут следующие элементы: textbox, combobox, button, label. в текстовое поле вводится...

Энтропия
Изменение энтропии при различных тепловых процессах. Правила форума, пункт 4.3. Создавайте темы с осмысленными и понятными названиями -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru