검색어 입력폼

쉬트라센 알고리즘

등록일 2005.05.17 한글파일 한컴오피스 (hwp) | 8페이지 | 가격 500원

소개글

C로 구현한 쉬트라센 알고리즘을 이용한 배열의 곱 입니다.
주석이 잘 달려있으며 최대한 이해하기 쉽게 코딩했습니다. 또한 #define MAX값을 변화하여 최대배열수를 바꿀수 있습니다.

컴파일 실행환경

gcc컴파일러/모든 C컴파일러로 컴파일 가능

본문내용

#include <stdio.h>
#include <time.h>
#define max 16 //2의 거듭제곱(본 프로그램에서 계산 가능한 배열의 최대크기)

void ArraySet(int n, int (*a)[max], int (*b)[max], int (*c)[max]);
void ArrayMulti(int n, int (*a)[max], int (*b)[max], int (*c)[max]);
void Strassen(int n, int (*a)[max], int (*b)[max], int (*c)[max]);
void ArrayPrint(int n, int (*tmp)[max]);

int main(){
int a[max][max];
int b[max][max];
int c[max][max];
int n;
printf("2의 거듭제곱을 입력하세요 = ");
scanf("%d",&n);

ArraySet(n, a, b, c);
printf("A 배열\n");
ArrayPrint(n, a);
printf("\nB 배열\n");
ArrayPrint(n, b);

ArrayMulti(n, a, b, c); //표준 알고리즘 호출
printf("\n////표준 알고리즘 완료////\n");
printf("C 배열(결과)\n");
ArrayPrint(n, c); //배열 출력

Strassen(n, a, b, c); //쉬트라센 알고리즘 호출
printf("\n////쉬트라센 알고리즘 완료////\n");
printf("C 배열(결과)\n");
ArrayPrint(n, c); //배열 출력

return 0;
}

참고 자료

없음
다운로드 맨위로