공부/uncategorized
이진 데이터 조합
doublemetal
2012. 11. 2. 00:44
ex)
x1 x2
0 0
0 1
1 0
1 1
//x1~xn까지의 이진입력데이터를
//저장하고 출력해주는 코드
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define Size_col 9 //입력 개수
#define pow(y) 1<<y //행 개수
struct Data{
int x[pow(Size_col)][Size_col];
};
void main(){
struct Data *data;
data=(Data*)malloc(sizeof(Data)); memset(data,0,sizeof(Data));
int i,j,z;
int temp=1; //행 시작 위치지정 1부터 2의 배수로 증가
int temp2=2;//행에서 1로 튀는 간격, 2부터 2의 배수로 증가
int Size_row=pow(Size_col);
for(j=Size_col-1;j>-1;j-=1){
for(i=temp;i<Size_row;i+=temp2){
for(z=0;z<temp;z++) //z는 1이 반복해서 나오는 구간
data->x[i+z][j]=1;
}
temp<<=1;temp2<<=1;
}
int count=0;
for(i=0;i<Size_row;i++){
printf("%4d ",count);
for(j=0;j<Size_col;j++){
printf("%2d ",data->x[i][j]);
}
printf("\n"); count++;
}
}