Programação C - Contando as ocorrências de valores específicos em um arquivo txt externo

Dec 13 2020

Recebi a tarefa de ler a lista de números de um arquivo externo e exibir estatísticas sobre ele. Meu plano inicial era contar quantas vezes um valor específico apareceu no código, mas encontrei dois problemas: minha saída do arquivo externo era diferente dos valores do arquivo e não consigo contar os números individuais neste código usando o loop for abaixo. Desde já, obrigado.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) 
{
  FILE *fpointer;
  fpointer = fopen("randice.txt","r");
  char filename[600];
  int v, c1 = 0, c2 = 0, c3 = 0, c4 = 0, c5 = 0, c6 = 0;

  while (!feof(fpointer))
  {
    fgets(filename,600,fpointer);
    puts(filename);
  }

  for(v=0;v<600;v++)
   {
     if (filename[v] == 1)
     c1++;
     if (filename[v] == 2)
     c2++;
     if (filename[v] == 3)
     c3++;
     if (filename[v] == 4)
     c4++;
     if (filename[v] == 5)
     c5++;
     if (filename[v] == 6)
     c6++;
   }
  fclose(fpointer);
  
  return 0;
}

Respostas

1 ralfhtp Dec 14 2020 at 05:20

Estatísticas de frequência de palavras em C:

  • Estatísticas de frequência de palavras em C (não C ++)

  • Contar a recorrência de palavras no arquivo de texto

Um exemplo mais avançado está em https://rosettacode.org/wiki/Word_frequency#C