mohl by mi někdo říct v čem je chyba že program nenačítá a nepočítá slova a vypisuje nesmyslné znaky ?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fr;
fr = fopen("text.txt","r");
if(!fr)
puts("soubor nenalezen");
typedef struct slova {
int pocet;
char slovo[50];
} slova;
int counter = 0;
int pocet_slov = 0;
char c;
while((c = fgetc(fr)) != EOF){
counter ++;
if(c == ' ' || c == '\n')
pocet_slov ++;
};
rewind (fr);
char *obsah;
obsah = (char *) malloc(counter + 1);
printf("hnuj\n");
int f = 0;
char q;
while((q = fgetc(fr)) != EOF){
obsah[f] = q;
f++;
};
slova seznam[30];
int p = 0;
int znak = 0;
seznam[p].slovo[0] = '\0';
char pole[20];
pole[0] = '\0';
while((fscanf(fr,"%s" , pole)) != EOF){
for(int w = -1; w < p; w++)
if(strcmp(seznam[w].slovo,pole) == 0){
seznam[w].pocet++;
return 0;}
else{
strcpy(seznam[p].slovo,pole);
seznam[p].pocet++;
}
p++;
free(pole);
};
for(int z = 0; z < 20; z++)
printf("%s\n",seznam[z].slovo);
return 0;
}