C言語なら、オレに聞け! <4>

このエントリーをはてなブックマークに追加
932デフォルトの名無しさん
どっか悪いところあるか?チキショウ!

#include <stdio.h>

#define MAX_NUM_DATA 100
#define MAX_NUM_HIST 10
#define FILENAME "prog8_d.txt"

int read_data( char *filename, int *data, int N);
void print_hist( int n );


main(){
int data[MAX_NUM_DATA];
int hist[MAX_NUM_HIST];
int n;
int i;
int idx;

n = read_data( FILENAME, data, MAX_NUM_DATA );
for( i=0 ; i<10 ; i++ ){
hist[i]=0;
}

for( i=0 ; i<n ; i++ ){
idx=data[i]/10;
if(idx==10)idx=9;
hist[idx]=hist[idx]+1;
}


for( i=0 ; i<MAX_NUM_HIST ; i++ ){
print_hist(hist[i]);
}
}


int read_data( char *filename, int *data, int max_data ){
FILE *fp;
int n;
int d;

if( ! (fp=fopen(filename, "rb")) ){
fprintf(stderr,"could not open file %s\n", filename);
return(-1);
}
n = 0;
while( n<max_data && fscanf(fp,"%d",&d)==1 )
data[n++] = d;

return(n);
}


void print_hist( int n ){
int i;
for( i=0 ; i<n ; i++ )
putchar('*');
putchar('\n');
}