Programa de contagem de palavras

O programa de contagem de palavras engloba quatro fases: criação do contentor de palavras (linha 4); leitura e contabilização das palavras (linhas 6 a 14); apresentação dos resultados (linhas 15 a 18) e por fim a libertação dos recursos alocados (linhas 19 e 20).

As operações necessárias sobre o contentor de palavras são: a criação, a procura, a inserção, a consulta e a eliminação.

Esqueleto do programa contador de palavras:

 1int main(int argc, char *argv[]) {
 2  FILE *fd = fopen(argv[1], "r");
 3  int nwords = 0;
 4  // criar e inicializar contentor de palavras
 5  long initial_timepoint = get_time();
 6  char *word_string = read_word(fd);
 7  while (word_string != NULL) {
 8          nwords++;
 9          // if (palavra já existe no contentor)
10          //      incrementar contador da palavra
11          // else
12          //      inserir nova palavras no contentor
13          word_string = read_word(fd);
14  }
15  long duration = get_time() - initial_timepoint;
16  printf("Total de palavras = %d; "
17         "Palavras diferentes = %ld; Tempo gasto = %ld ms\n",
18         nwords, cardinal(words), duration);
19  fclose(fd);
20  // eliminar o contentor de palavras
21}