[ create a new paste ] login | about

Link: http://codepad.org/vwU14S6p    [ raw code | output | fork ]

C, pasted on May 23:
#include <stdio.h>

typedef struct { int m[3][3]; } Matrix;

void func(const Matrix *p, const Matrix *q, Matrix *r)
{
    int i, j, k;
	
    for (i = 0; i < 3; i++) {
	for (j = 0; j < 3; j++) {
	    for (k = 0; k < 3; k++) {
		r->m[i][j] += p->m[k][i] * q->m[j][k];
	    }
	}
    }
}

int main()
{
    Matrix ary1 = {
	{
	    {1, 2, 3},
	    {4, 5, 6},
	    {7, 8, 9},
	}
    };
    Matrix ary2 = {
	{
	    {1, 2, 3},
	    {4, 5, 6},
	    {7, 8, 9},
	}
    };
    Matrix answer = { { { 0 } } };
    int i, j;

    func(&ary1, &ary2, &answer);
    
    for (i = 0; i < 3; i++) {
	for (j = 0; j < 3; j++) {
	    printf("%d ", answer.m[i][j]);
	}
    	printf("\n");
    }
    
    return 0;
}


Output:
1
2
3
30 66 102 
36 81 126 
42 96 150 


Create a new paste based on this one


Comments: