Çà·ÄÀÇ °öÀ» ±¸ÇÏ´Â °Çµ¥...
°á°ú°¡ ÀÌ»óÇÏ°Ô ³ª¿À³×¿ä..;;;
Ʋ¸°ºÎºÐÁ» ã¾ÆÁÖ¼¼¿ä...
¿¡·¯µµ ¾È¶ß°í..; ¾îµòÁö ¸ð¸£°Ú³×¿ä..
#include <stdio.h>
#define rows 2
#define cols 3
typedef int matrixA[rows][cols];
typedef int matrixB[cols][rows];
typedef int resultC[rows][rows];
void multiply(resultC r, matrixA a, matrixB b);
void display(resultC r, int M);
int main(void)
{
matrixA a = {{1, 2, 2}, {2, 3, 1}};
matrixB b = {{1, 2}, {1, 3}, {1, 2}};
resultC r = {0};
int i, j;
for(i = 0; i < rows; i++){
for(j = 0; j < cols; j++){
printf("%4d", a[i][j]);
}
printf("\n");
}
printf("\n");
display(b, cols);
printf("À§ µÎ Çà·ÄÀÇ °öÀº ´ÙÀ½ÀÔ´Ï´Ù.\n");
multiply(r, a, b);
display(r, rows);
return 0;
}
void multiply(resultC r, matrixA a, matrixB b){
int i, j, k;
for(i = 0; i < rows; i++){
for(j = 0; j < rows; j++){
for(k = 0; k < cols; k++){
//r[i][j] += a[i][k] * b[k][j];
*(r[i] + j) += *(a[i] + k)* *(b[k] + j);
}
}
}
}
void display(resultC r, int M){
int i, j;
for(i = 0; j < M; i++){
for(j = 0; j < rows; j++){
printf("%4d", r[i][j]);
}
printf("%4d");
}
printf("%4d");
}
|