/* * Matrix vector multiplication : assignment 11 */ #include #define MAXROW 50 #define MAXCOL 50 void readMatrix( int x[][MAXCOL], int r, int c) { int i, j ; for(i = 0; i < r; ++i) for(j = 0; j < c; ++j) scanf("%d", &x[i][j]); } void printMatrix( int x[][MAXCOL], int r, int c) { int i, j ; for(i = 0; i < r; ++i) { for(j = 0; j < c; ++j) printf("%d ", x[i][j]); printf("\n") ; } } void readVector( int v[], int r) { int i ; for(i = 0; i < r; ++i) scanf("%d", &v[i]); } void printVector( int v[], int r) { int i ; for(i = 0; i < r; ++i) printf("%d ", v[i]); putchar('\n'); } void matVectMult(int x[][MAXCOL], int r, int c, int v[], int p[]){ int i, j ; for(i = 0; i < r; ++i) { p[i] = 0; for(j = 0; j < c; ++j) p[i] += x[i][j]*v[j]; } } int main() // { int x[MAXROW][MAXCOL], v[MAXCOL], p[MAXROW]; int r, c; printf("Enter the row and column numbers of A:\n"); scanf("%d%d", &r, &c); printf("Enter the %d X %d matrix\n", r, c); readMatrix(x, r, c); printf("The input matrix is:\n"); printMatrix(x, r, c); printf("Enter the %d-dimension vector\n", c); readVector(v, c); printf("The input vector is:\n"); printVector(v, c); matVectMult(x, r, c, v, p); printf("The product vector is:\n"); printVector(p, r); return 0; }