Programowanie C - zliczanie wystąpień określonych wartości w zewnętrznym pliku tekstowym

Dec 13 2020

Otrzymałem zadanie odczytania listy liczb z zewnętrznego pliku i wyświetlenia jej statystyk. Mój początkowy plan polegał na policzeniu, ile razy w kodzie pojawiła się określona wartość, ale napotkałem dwa problemy: mój wynik z zewnętrznego pliku był inny niż wartości w pliku i nie jestem w stanie policzyć poszczególnych liczb w tym kod za pomocą pętli for poniżej. Z góry dziękuję.

#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;
}

Odpowiedzi

1 ralfhtp Dec 14 2020 at 05:20

Statystyka częstotliwości słów w C:

  • Statystyka częstotliwości słów w C (nie w C ++)

  • Policz powtarzanie się słów w pliku tekstowym

Bardziej zaawansowany przykład znajduje się w https://rosettacode.org/wiki/Word_frequency#C