Anonymní profil Filip – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Filip – Programujte.comAnonymní profil Filip – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.3.–

Filip
C / C++ › Výpočet pravděpodobnosti pís…
21. 5. 2015   #202330

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.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý