Как исправить ошибку: function 'logf' should have a prototype - C (СИ)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <math.h>
- float ver[10] = {0.4f, 0.2f, 0.1f, 0.05f, 0.05f, 0.05f, 0.05f, 0.04f, 0.03f, 0.03f};
- float max_key_ver=0;
- unsigned long m=3462538;
- int mes[7];
- float PKE[10],PEK[10],SumEK,HK,HR,H,N;
- void main()
- {
- int i,j,tmpmes;
- for (i=6;i>=0;i--)
- {
- mes[i]=m%10;
- m/=10;
- }
- for (i=0;i<10;i++)
- {
- PEK[i]=1;
- for (j=0;j<7;j++)
- {
- tmpmes=mes[j]-i;
- if(tmpmes<0)
- tmpmes=10-abs(tmpmes);
- PEK[i]*=ver[tmpmes];
- }
- }
- SumEK=0;H=0;
- for (i=0;i<10;i++)
- {
- SumEK+=0.1f*PEK[i];
- PKE[i]=0;
- }
- printf("апостериорные вероятности:\n");
- for (i=0;i<10;i++)
- {
- PKE[i] = 0.1f * PEK[i] / SumEK;
- if (max_key_ver<PKE[i])
- max_key_ver=PKE[i];
- H += ver[i]*logf(ver[i])/logf(2); /* !!! ошибка:function 'logf' should have a prototype */
- printf("\tключ %i : вероятность использования %6.4f\n",i,PKE[i]);
- }
- HK=logf(10)/logf(2);
- HR=logf(7)/logf(2);
- N=HK/(HR+H);
- printf("Расстояние единственности = %5f",N);
- getch();
- }
Решение задачи: «Как исправить ошибку: function 'logf' should have a prototype»
textual
Листинг программы
- спасибо большое все заработало
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д