Caute mohli by ste mi prosim vas pomoct neviem kde mam chybu ale nerobi mi to spravne :/
(ked zmenim vstupy v .txt tak to zanem blbnut)
Pocet roznych znakov - to rata vsetky odlisne znaky, nerata to len pocet
Jeden zo suborov je dlhsi - toto niako blbne
Kód:
Napíšte program, ktorý určí, či majú dva súbory prvy.txt a druhy.txt rovnaký obsah. Program nečíta žiadne dáta zo štandardného vstupu. Ak majú súbory rovnaký obsah, program vypíše Subory su identicke Ak súbory rovnaký obsah nemajú, vypíše program Pocet roznych znakov: nasledovaný medzerou, počtom rôznych znakov v súboroch a ukončený koncom riadku. i-ty znak v jednom súbore považujte za rôzny od i-teho znaku v druhom súbore, ak oba znaky existujú (t.j. ani jeden súbor nemá menej ako i znakov) a príslušné znaky sa nerovnajú. Ak majú súbory nerovnakú dĺžku, na výstup program vypíše ešte jeden riadok obsahujúci správu Jeden zo suborov je dlhsi o x znakov Pričom x je počet znakov o ktoré je jeden zo súborov dlhší. Správa je nasledovaná koncom riadku.
Ukážka súboru prvy.txt:
ahoj
Ukážka súboru druhy.txt:
ahujx
*
Výstup pre ukážkové súbory:
Pocet roznych znakov: 1
Jeden zo suborov je dlhsi o 3 znakov
kod som zosstrojil takyto
Kód:
int main()
{
FILE *subor1, *subor2;
int i = 0,j=0;
char a,b;
subor1 = fopen("prvy.txt", "r");
subor2 = fopen("druhy.txt", "r");
while(!feof(subor1) || !feof(subor2))
{
b=(fgetc(subor2));
a=(fgetc(subor1));
if(a!=b && (!feof(subor1) && !feof(subor2)))
i++;
else if(!feof(subor1) && !feof(subor2))
j++;
}
if(i==0 && j==0)
printf("Subory su identicke\n");
else
printf("Pocet roznych znakov: %d\nJeden zo suborov je dlhsi o %d znakov",i,j);
fclose(subor1);
fclose(subor2);
return 0;
}
diky