programming-examples/c-sharp/Arrays/C# Sharp for multiplication of two square Matrices.cs

87 lines
3.5 KiB
C#
Raw Normal View History

2019-11-15 12:59:38 +01:00
using System;
public class Exercise21
{
public static void Main()
{
int i,j,k,r1,c1,r2,c2,sum=0;
int[,] arr1 = new int[50,50];
int[,] brr1 = new int[50,50];
int[,] crr1 = new int[50,50];
Console.Write("\n\nMultiplication of two Matrices\n");
Console.Write("----------------------------------\n");
Console.Write("\nInput the number of rows and columns of the first matrix :\n");
Console.Write("Rows : ");
r1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Columns : ");
c1 = Convert.ToInt32(Console.ReadLine());
Console.Write("\nInput the number of rows of the second matrix :\n");
Console.Write("Rows : ");
r2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Columns : ");
c2 = Convert.ToInt32(Console.ReadLine());
if(c1!=r2)
{
Console.Write("Mutiplication of Matrix is not possible.");
Console.Write("\nColumn of first matrix and row of second matrix must be same.");
}
else
{
Console.Write("Input elements in the first matrix :\n");
for(i=0; i<r1; i++)
{
for(j=0; j<c1; j++)
{
Console.Write("element - [{0}],[{1}] : ",i,j);
arr1[i,j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.Write("Input elements in the second matrix :\n");
for(i=0; i<r2; i++)
{
for(j=0; j<c2; j++)
{
Console.Write("element - [{0}],[{1}] : ",i,j);
brr1[i,j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.Write("\nThe First matrix is :\n");
for(i=0; i<r1; i++)
{
Console.Write("\n");
for(j=0; j<c1; j++)
Console.Write("{0}\t",arr1[i,j]);
}
Console.Write("\nThe Second matrix is :\n");
for(i=0; i<r2; i++)
{
Console.Write("\n");
for(j=0; j<c2; j++)
Console.Write("{0}\t",brr1[i,j]);
}
//multiplication of matrix
for(i=0; i<r1; i++)
for(j=0; j<c2; j++)
crr1[i,j]=0;
for(i=0; i<r1; i++) //row of first matrix
{
for(j=0; j<c2; j++) //column of second matrix
{
sum=0;
for(k=0; k<c1; k++)
sum=sum+arr1[i,k]*brr1[k,j];
crr1[i,j]=sum;
}
}
Console.Write("\nThe multiplication of two matrix is : \n");
for(i=0; i<r1; i++)
{
Console.Write("\n");
for(j=0; j<c2; j++)
{
Console.Write("{0}\t",crr1[i,j]);
}
}
}
Console.Write("\n\n");
}
}