#define MAX_TERMS 2500
#define MAX_SIZE 50
//sparse matrix의 element구조체선언
typedef struct {
int r;
int c;
int val;
}term;
//sparse matrix 구조체 선언
typedef struct {
int numRow;
int numCol;
int numEle;
term listEle[MAX_TERMS];
}SPARSE_MATRIX;
//이중구조체 선언하고
void fastTransposeMatrix(SPARSE_MATRIX* sMatrix,SPARSE_MATRIX* tMatrix){
int row_terms[MAX_SIZE], starting_pos[MAX_TERMS];
int i, j;
tMatrix->listEle[0].c=sMatrix->listEle[0].r;
tMatrix->listEle[0].r=sMatrix->listEle[0].c;
tMatrix->listEle[0].val=sMatrix->listEle[0].val;
for(i=0;i<sMatrix->listEle[0].c;i++){
row_terms[i]=0;
}
for(i=1;i<=sMatrix->listEle[0].val;i++){ ★
row_terms[sMatrix->listEle[i].c]++;
}
starting_pos[0]=1;
for(i=1;i<sMatrix->listEle[0].c;i++){
starting_pos[i]=starting_pos[i-1]+row_terms[i-1];
}
for(i=1;i<=sMatrix->listEle[0].val;i++){
j=starting_pos[sMatrix->listEle[i].c]++;
tMatrix->listEle[j].r=sMatrix->listEle[i].c;
tMatrix->listEle[j].c=sMatrix->listEle[i].r;
tMatrix->listEle[j].val=sMatrix->listEle[i].val;
}
}
스파스매트릭스 fast transposed를 하는데 예제있는거 그대로 옮긴거거등?
컴파일 오류는 안나...
근데 저 별표친곳에서 무슨 문제인지 프로그램이 갑자기 쥬금 ㅠㅠㅠ
초기값은 셋팅되있음 ? [from DCHub WP8.0.10211.0]
ㅇㅇㅇ넹 sMatrix가 기존 배열인데 값 다 세팅되 있어여...
막상 보면 무한루프는 아닌데 ㅠㅠ