티스토리 뷰

공부/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++;

}

}




댓글
댓글쓰기 폼