Как исправить ошибку: 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
Листинг программы
спасибо большое все заработало