- Matrix multiplication in c.
- Take three two dimensional arrays
- int first_matrix[10][10], second_matrix[10][10], multiply_result[10][10];
- Two for take input from user for matrices one for capture multiplication of two matrices result.
- Ask user to enter number of columns of rows of first matrix. m ,n
- Read from keyboard using scanf() function in java. and store all the elements (rows*columns) in first matrix using two for loops.
- Ask user to enter number of columns of rows of second matrix. p , q
- Read from keyboard using scanf() function in java. and store all the elements (rows*columns) in first matrix using two for loops.
- Now take two more loops for rows of first matrix and columns of second matrix.
- Third for loop for multiplication iteratek
- for (c = 0; c < m; c++) {
- for (d = 0; d < q; d++) {
- for (k = 0; k < p; k++) {
- sum = sum + first_matrix[c][k]*second_matrix[k][d];
- }
- multiply_result[c][d] = sum;
- sum = 0;
- }
- }
- c program for multiplication of two matrices using arrays
Program #1: Write a c program to multiply two matrices. c program for matrix multiplication using arrays
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int m, n, p, q, c, d, k, sum = 0;
- int first_matrix[10][10], second_matrix[10][10], multiply_result[10][10];
- printf("Enter the number of rows and columns of first matrix\n");
- scanf("%d%d", &m, &n);
- printf("Enter the elements of first matrix\n");
- for (c = 0; c < m; c++)
- for (d = 0; d < n; d++)
- scanf("%d", &first_matrix[c][d]);
- printf("Enter the number of rows and columns of second matrix\n");
- scanf("%d%d", &p, &q);
- if (n != p)
- printf("Matrices with entered orders can't be multiplied with each other.\n");
- else
- {
- printf("Enter the elements of second matrix\n");
- for (c = 0; c < p; c++)
- for (d = 0; d < q; d++)
- scanf("%d", &second_matrix[c][d]);
- for (c = 0; c < m; c++) {
- for (d = 0; d < q; d++) {
- for (k = 0; k < p; k++) {
- sum = sum + first_matrix[c][k]*second_matrix[k][d];
- }
- multiply_result[c][d] = sum;
- sum = 0;
- }
- }
- printf("Product of entered matrices:-\n");
- for (c = 0; c < m; c++) {
- for (d = 0; d < q; d++)
- printf("%d\t", multiply_result[c][d]);
- printf("\n");
- }
- }
- getch();
- }
Output:
No comments