Potřebuji udělat program v C, který rozpozná jazyk textu na základě četnosti výskytu písmen v jednotlivých textech. Budu mít několik souborů v různých jazycích a s těmito texty budu porovnávat "výchozí" text uložený v souboru. Bohužel moc nevím, jak na to. Nejdřív, co mi bylo doporučeno:
1) Vytvořit si několik textových souborů, kde bude vždy text v určitém jazyku
2) Vytvořit si textový soubor, ve kterém bude porovnávaný text
3) Měl bych přečíst jednotlivé soubory po jednotlivých znacích, to realizuji takto:
FILE *Soubor = fopen("porovnavany.txt", "r");
if (Soubor != NULL)
{
while ((znak = fgetc(Soubor)) != EOF)
{
if (znak == '\n')
pp = true;
else
{
if (pp)
{
printf("%3d: ", poc++);
pp = false;
}
}
printf("%c", znak);
}
fclose(Soubor);
}
Takto to udělám se všemi soubory (přečtu po písmenech). Akorát nevím, kam nebo jak pak zaznamenám počet těch jednotlivých písmen? Počet písmen v souboru bych pak měl vydělit celkovým početem znaků v souboru.
Na zaznamenání toho výsledku bych si měl vytvořit pole typu float o 256 znacích, kde bych měl každému znaku přiřadit pravděpodobnost výskytu a následně to porovnat.
Momentálně ale netuším, jak spočítám ty jednotlivé znaky a jak je dostanu do toho pole typu float.