Skip to main content

C Program for Matrix Multiplication or Matrix Multiplication in C Example Source Code

C Program for Matrix Multiplication or Matrix Multiplication in C Example Source Code given below:

Matrix Multiplication Example 1 :-

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int m, n, p, q, c, d, k, sum = 0;
int first[10][10], second[10][10], multiply[10][10];
clrscr(); // first clear the screen

printf("Enter the number of rows and columns of first matrix\n");
scanf("%d%d",&m,&n);
printf("Enter the number of rows and columns of second matrix\n");
scanf("%d%d",&p,&q);
if ( n != p )
{
printf("Sorry! Matrix Multiplication can't be done, study row col combination of Matrices...\n");
getch(); // uses wait comand and in conio.h
exit(0); // to exit program and in stdlib.h
}
printf("Enter the elements of first matrix\n");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
scanf("%d",&first[c][d]);
printf("Enter the elements of second matrix\n");
for ( c = 0 ; c < p ; c++ )
for ( d = 0 ; d < q ; d++ )
scanf("%d",&second[c][d]);
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < n ; d++ )
{
for ( k = 0 ; k < p ; k++ )
{
sum = sum + first[c][k]*second[k][d];
}
multiply[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[c][d]);
printf("\n");
}

getch();
return 0;
}

Matrix Multiplication Example 2 ( a few codes used here ) :-

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int m, n, p, q, c, d, k, sum = 0;
int first[10][10], second[10][10], multiply[10][10];
clrscr();

printf("Enter the number of rows and columns of first matrix\n");
scanf("%d%d",&m,&n);
printf("Enter the number of rows and columns of second matrix\n");
scanf("%d%d",&p,&q);
if ( n != p )
{
printf("Sorry! Matrix Multiplication can't be done, study row col combination of Matrices...\n");
getch(); // uses wait comand and in conio.h
exit(0); // to exit program and in stdlib.h
}
printf("Enter the elements of first matrix\n");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
scanf("%d",&first[c][d]);
printf("Enter the elements of second matrix\n");
for ( c = 0 ; c < p ; c++ )
for ( d = 0 ; d < q ; d++ )
scanf("%d",&second[c][d]);

for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; multiply[c][d] = sum, sum = 0, d++ )
for ( k = 0 ; k < p ; sum = sum + first[c][k]*second[k][d], k++ ); /* for loop doesn't have other statements, so use ";" to end loop */
printf("Product of entered matrices:-\n");
for ( c = 0 ; c < m ; printf("\n"), c++ )
for ( d = 0 ; d < q ; printf("%d\t",multiply[c][d]), d++ ); /* for loop doesn't have other statements, so use ";" to end loop */
getch();
return 0;
}

Popular posts from this blog

C Code Shortening Techniques or My Logic for Reduced Source Code Writing in C Program Language

C Code Shortening Techniques or My Logic for Reduced Source Code Writing Tips and Tricks in C Program Language :- Role of Semi Colon(;) and Curly Braces({ }) in C Program Perhaps, you might have heard that the for() loop should not end with ";" like if(). But, in fact the ";" is using in C language as a Statement Terminator, so, if we want to terminate for() loop, then we should use ";" at the end of for() loop. [ Header files are to be included as usual, it is not written in the examples ] Question : write a C program to print 1 to 10 numbers using for() loop ? Example 1 : void main() { int i; for ( i = 1 ; i <= 10 ; i++ ) { printf("%d\n",i); } } /* above program, for() loop has one statement outside, so we do not use ";" at the end, because if we put ";" the for() will not take the continuing statement as its own. */ Example 2 : void main() { int i; for ( i = 1 ; i <= 10 ; printf( "%d \n" , i ...

How to create User Defined Functions in C, see example Perfect_Number() function used as UDF in C Program

How to create User Defined Functions in C, see example Perfect_Number() function used as UDF in C Program :- Example : This is a program to find Perfect Numbers upto a limit using User Defined Function(UDF) in C Program Language :- #include<stdio.h> #include<conio.h> int Perfect_Number(int); /* UDF function prototype declaration : int argument and int returns */ main() { int lmt,num; clrscr(); printf("Enter a Limit :"); scanf("%d",&lmt); for(num=5 ; num<=lmt ; num++) { /* function calls here with Actual Parameter num and returns either 1 or 0 and checks */ if(Perfect_Number(num)==1) { printf("\n%d",num); } } getch(); } /* Either the function should be defined out side the main() or it should be in one of the header files included. function definition with a Formal Parameter as n */ int Perfect_Number(int n) { int a,sm; sm=0; for(a=1 ; a<n ; a++) { if(n%a==0) { sm=sm+a; } } if(sm==n) return 1; else ...

Hello World C Program with full explanation.

Hello World C Program with Explanation are given below :- #include<stdio.h> #include <conio.h> void main() { clrscr(); printf("Hello World!"); getch(); } Explanations: - printf() function is defined in the header file stdio.h, so it must be included at top of the program. Like clrscr() and getch() functions are defined in conio.h. To include a Header file, the syntax is #include at the top of the program. C Program to be written in main() function. Then void main() means the main() function returns nothing and it will study later. We use ";" as a statement terminator so clrscr(),printf() and getch() are used ";" but "void main()" doesn't have ";" because it is not terminated there, it follows "{" and "}" . clrscr() function uses for to clear the screen. printf() for print something. getch() uses for to get a character from keyboard and it is used here as a wait command. Save file name as " an...