Упражнения C # Sharp: Умножение двух квадратных матриц
C # Sharp Array: упражнение 21 с решением
Напишите программу на C # Sharp для умножения двух квадратных матриц.
Пример решения : -
C # острый код:
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");
}
}
Пример вывода:
Умножение двух матриц ---------------------------------- Введите количество строк и столбцов первой матрицы: Рядов: 2 Колонны: 2 Введите количество строк второй матрицы: Рядов: 2 Колонны: 2 Входные элементы в первой матрице: элемент - [0], [0]: 1 элемент - [0], [1]: 2 элемент - [1], [0]: 3 элемент - [1], [1]: 4 Входные элементы во второй матрице: элемент - [0], [0]: 5 элемент - [0], [1]: 6 элемент - [1], [0]: 7 элемент - [1], [1]: 8 Первая матрица: 1 2 3 4 Вторая матрица: 5 6 7 8 Умножение двух матриц: 19 22 43 50
Блок - схема:
Редактор кода C # Sharp:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C # Sharp для вычитания двух матриц.
Далее: написать программу на C # Sharp, чтобы найти транспонирование данной матрицы.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code