Skip to main content

MATRIX MULTIPLICATION

/**
    Program Name: MATRIX MULTIPLICATION

    Description: This program finds Product of Two Matrices

    Author:  Tauqirul Haque
       
*/



#define ROW1 2    //Change the Dimension According to Your need
#define COL1 2
#define ROW2 2
#define COL2 2



void productMatrix(int matrix[][COL1], int matrixB[][COL2], int productMatrix[][COL2]);
void displayMatrix(int matrix[ROW1][COL2]); //this function displays the matrix

void main()
{
    int matrixA[ROW1][COL1] = { 1,1,1,1 };
    int matrixB[ROW2][COL2] = { 2,2,2,2 };
    int proMatrix[ROW1][COL2]={0};  //this will store the product of two matrices
   
    printf("\nThe Element of the First Matrix is...\n");   
    displayMatrix(matrixA);
   
    printf("\nThe Element of the Second Matrix is ... \n");
    displayMatrix(matrixB);
   
    productMatrix(matrixA,matrixB,proMatrix);
   
    printf("\nThe Product of Matrices are ... \n");
    displayMatrix(proMatrix);
   
}

void productMatrix(int matrixA[ROW1][COL1], int matrixB[ROW2][COL2],int productMatrix[ROW1][COL2])
{
    int i,j,k;
       
    for(i=0;i
    {
        for(j=0;j
        {
             productMatrix[i][j]=0;
           
            for(k=0;k
            {
                productMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
            }
        }
    }
}

void displayMatrix(int matrix[ROW1][COL2])
{
    int i,j;
    printf("\n");
   
    for(int i=0;i
    {
        for(int j=0;j
        {
            printf("%4d",matrix[i][j]);
        }
        printf("\n");
    }
}



Comments

Popular posts from this blog

SIMPLE QUEUE

/**     Program Name: SIMPLE QUEUE     Description: This program is for Implementing Simple QUEUE     Author:  Tauqirul Haque         */ #define SIZE 3 int front = -1; int rear = -1; int queue[SIZE]; void deleteElement(); void insertElement(); void displayElement(); void main() {     int ch;     while(ch !=4)     {         printf("\n\t\t1. Insert into queue..\n");         printf("\t\t2. Delete From Queue...\n");         printf("\t\t3. Diplay Queue...\n");         printf("\t\t4. Exit Program ...\n");                 printf("Enter Your Choice #  ");         scanf("%d",&ch);         ...

BUBBLE SORT

/**     Program Name: BUBBLE SORT     Description: This Program sorts a Given Array in Ascending Order     Author:  Tauqirul Haque         */ #define SIZE 10 void bubbleSort(int data[SIZE]); void displayElement(int data[SIZE]); void main() {     int data[SIZE] = { 45,34,66,89,45,34,76,22,79, 12};         printf("\nThe Original Array Before Sorting ... ");     displayElement(data);         printf("\nArray After Sorting ... ");     bubbleSort(data);     displayElement(data);     } void displayElement(int data[SIZE]) {     int i;     for(i=0; i     {         printf("\nData[%d]  =  %d",i,data[i]);     }     printf("\n"); } void ...

Singly Linked List

/**     Program Name: Singly Linked List     Description: This Program is for Implemeting Singly Linked List     Author:  Tauqirul Haque         */ struct Linklist {     int item;     struct Linklist *next; }; typedef struct Linklist node; void insertAtBeginning(node **); void createAppendNode(node **); void insertInMiddle(node **); void deleteNode(node **); void displayNode(node **); void countNode(node **);  void searchElement(node **); void reverse(node **); void main() {     node *head = NULL;     int choice = 0;     while(choice != 9)     {             printf("\n\t\t\t1. Add Node At The Beginning ");     printf("\n\t\t\t2. Insert Element in the Middle ");     printf("\n\t\t\t3. Append New Node "); ...