Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void print(double x[], int a, int b)
- {
- int i, j;
- for(i = 0; i < a; i++)
- {
- for(j = 0; j < b; j++)
- {
- printf("%lf ", x[i * b + j]);
- }
- printf("\n");
- }
- }
- void matrixMultiplication(double x[], double y[], double z[], int a, int b, int c)
- {
- int i, j, k, l;
- for(i = 0; i < a; i++)
- {
- for(j = 0; j < c; j++)
- {
- int tmp = 0;
- for(k = 0; k < b; k++)
- {
- tmp += x[i * b + k] * y[k * a + j];
- }
- z[i * c + j] = tmp;
- }
- }
- }
- int main()
- {
- int m = 2, n = 3, p = 4;
- double a[m][n], b[n][p], c[m][p];
- srand(time(NULL));
- int i, j;
- for(i = 0; i < m; i++)
- {
- for(j = 0; j < n; j++)
- {
- a[i][j] = rand() % 100;
- }
- }
- for(i = 0; i < n; i++)
- {
- for(j = 0; j < p; j++)
- {
- b[i][j] = rand() % 50;
- }
- }
- print(*a, m, n);
- printf("\n");
- print(*b, n, p);
- printf("\n");
- matrixMultiplication(a, b, c, m, n, p);
- print(*c, m, p);
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement