C/C++の宿題を片づけます 49代目
■ このスレッドは過去ログ倉庫に格納されています
0310デフォルトの名無しさん
2005/08/28(日) 04:13:51#include <stdlib.h>
#define DATA_SIZE 16777216
#define RGB_MAX 255
long data[RGB_MAX][RGB_MAX][RGB_MAX];
struct RGB {
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char alpha;
} rgb;
int main(void)
{
FILE *fp;
int i, r, g, b;
if((fp=fopen("ファイル名", "rb")) == NULL) exit(1); /* ファイルが開けなかった */
/* RGBのそれぞれの組み合わせをインクリメントしていく */
for(n=0; n<DATA_SIZE; n++) {
fread(&rgb, sizeof rgb, 1, fp);
data[rgb.r-1][rgb.b-1][rgb.b-1]++;
}
fclose(fp); /* ここで一旦ファイルを閉じる */
if((fp=fopen("textdata", "w")) == NULL) exit(1); /* ファイルが開けなかった */
fprintf(fp, "r,g,b,頻度");
for(r=0; r<RGB_MAX; r++)
for(g=0; r<RGB_MAX; g++)
for(b=0; r<RGB_MAX; b++)
fprintf(fp, "%.3d,%.3d,%.3d,%d,\n", r, g, b, i[r][g][b];
fclose(fp);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています