Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5380] 친절한 고수님들 저에게 주석을......
마파람 [] 1683 읽음    2005-10-16 19:41
행렬곱을 구하는것입니다....
주석좀 부탁드립니다.




void mmilt(term a[], termb[], term d[])

/*두 희소행렬을 곱한다. */

{

int i, j, column, totalb = b[0].value, totald = 0 ;

int rows_a = a[0].row, cols_a = a[0].col ;

totala = a[0].value ; int cols_b = b[0].col ;

int row_begin = 1, row = a[1].row, sum = 0 ;

int new_b[MAX_TERMS][3] ;

if(cols_a != b[0].row {

   fprintf(stderr, "Incompatible matrices\n");

   exit(1) ;

}



fast_transpose(b, new_b) ;

/*경계조건 설정*/

a[totala + 1].row = rows_a ;

new_b[totalb + 1].row = cols_b ;

new_b[totalb + 1].col = 0 ;

for (i=1 ; i <= totala;  ) {

    column = new_b[1].row ;

    for (j =1 ; j <= totalb + 1 ;   ) {

    /* a의 행과 b의 열을 곱한다. */

     if(a[i].row != row) {

       storesum (d, &totald, row, column, &sum);

       i = row_begin  ;

       for ( ; new_b[j].row == column; j++ )

          ;

       column = new_b[j].row ;

      }

    else if(new_b[j].row != column) {

       storesum(d, &totald, row, column, &sum);

       i = row_begin ;

       column = new_b[j].row ;

      }

    else swich (COMPARE(a[i].col, new_b[j].col)) {

      case -1 ;  /*a의 다음 항으로 이동 */

              ++i ;  break++ ;

      case 0 ; /*항을 더하고, a와 b를 다음 항으로 이동 */

             sum += (a[i++].value*new_b[j++].value) ; ;

             break;

      case 1 ;/*b항을 다음항으로 이동 */

             j++ ;

       }

     } /*for j<=totalb+1 문의 끝 */

     for ( ; a[i].row==row ; i++)

       ;

     row_begin = i ; row = a[i].row ;

    } /* tatala문의 끝 */

    d[0].row = rows_a ;

    d[0].col = cols_b ; d[0].value = totald;

  }





여기서 fast_transpoe 함수는 전치행렬을 만드는 것이구요,



stroresum함수는 행, 열 위치와 함께 행렬 d의 *totald+1 원소로 저장하는 함수입니다.



저의 무지를 채워주시기 바랍니다. (--)(__)

+ -

관련 글 리스트
5380 친절한 고수님들 저에게 주석을...... 마파람 1683 2005/10/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.