컴퓨터 공학/C++
데이터의 분포를 출력하는 소스 코드 (C언어)
혼새미로
2017. 6. 2. 14:59
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 |
#include <stdio.h>
#include <stdlib.h>
#define RANGE 1000000
#define TRM 32
void main() {
FILE* fp;
fp = fopen("output.dat", "rb");
if (fp == NULL)
return;
int nrData;
fread(&nrData, sizeof(int), 1, fp);
printf("num:%d\n", nrData);
int* arr;
arr = (int*)malloc(sizeof(int)*nrData);
fread(arr, sizeof(int), nrData, fp);
int maxValue = arr[0];
for (int i = 0; i < nrData; i++) {
maxValue = maxValue < arr[i] ? arr[i] : maxValue;
}
printf("maxValue:%d\n", maxValue);
int distrib[TRM+1] = { 0, };
int interval = maxValue / TRM;
printf("interval:%d\n", interval);
printf("start calculating...\n");
int temp;
for (int i = 0; i < nrData; i++) {
temp = arr[i] / interval;
distrib[temp]++;
}
printf("finish calculating.\n");
for (int i = 0; i < TRM; i++) {
printf("RANGE[%d-%d]:%d\n", i*interval, (i + 1)*interval, distrib[i]);
}
printf("finish displaying\n");
for (int i = 0; i < nrData; i++) {
printf("%d\n", arr[i]);
}
fclose(fp);
free(arr);
} |
cs |
반응형