/* Código escrito por Yuri de oliveira Gomes Figueiredo Descrição:Calcula a ocorrencia de caracteres ASCII em um arquivo e imprime na tela.*//* Arquivos de biblioteca */#include <stdio.h>#include <stdlib.h>#include <string.h>/* Prototipo das funções */void som(char *arquivo); /* Função principal que consiste no calculo dos caracteres*/void imp(unsigned long int *vetor); /*Função que impreme caracteres na tela*/void limp(unsigned long int *vetor,unsigned long int x,unsigned long int y); /* Função necessária para inicializar variáveis do vetor *//* Inicio do programa */int main(int argc, char *argv[]){ if(argc<2){ printf("Falta de argumentos\n"); exit(0); } som(argv[1]); return 0;}void som(char *arquivo){ FILE*fp=fopen(arquivo,"rb"); unsigned long int vetor[225]; unsigned char c; limp(vetor,0,225); if(fp==NULL){ printf("Erro ao abrir o arquivo\n"); exit(1); } for(vetor[getc(fp)]+=1;!feof(fp);vetor[(unsigned char)getc(fp)]+=1); fclose(fp); imp(vetor);}void imp(unsigned long int *vetor){ int i; for(i=0;i<=225;i++){ printf("Contagem de %i:%lu\n",i,*vetor++); getchar(); }}void limp(unsigned long int *vetor,unsigned long int x,unsigned long int y){ do{ *vetor=x; vetor++; }while(y--); }