用数组实现矩阵乘法
刚开始学c#,下面列出用数组实现矩阵乘法碰到的问题。
1、如何运行c#程序
1)新建一个控制台应用程序项目
2)在该项目上右键新建类
3)在类中添加逻辑代码
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
4)点击运行即可
示例结果:
2、变量格式化输出
参见连接:http://www.cnblogs.com/BeginnerClassroom/archive/2009/10/15/1583787.html
3、用数组实现矩阵乘法
废话不多说,直接上示例。
示例:
using System;
using System.Collections.Generic;
using System.Text;
/// <summary>
/// [功能描述: 用数组实现矩阵乘法:
/// 1、声明一个2行3列的两维数组,用于存放矩阵A;
/// 2、声明一个3行4列的两维数组,用于存放矩阵B
/// 3、声明一个2行4列的两维数组,用于存放矩阵A和矩阵B的乘积
/// ]<br></br>
/// [创 建 者: XXX]<br></br>
/// [创建时间: 2017-08-28]<br></br>
/// <修改记录
/// 修改人=''
/// 修改时间='yyyy-mm-dd'
/// 修改目的=''
/// 修改描述=''
/// />
/// </summary>
namespace ConsoleApplication1
{
class MultiplyByArry
{
public MultiplyByArry()
{
Active();
}
/// <summary>
/// 说明:矩阵乘法
/// </summary>
/// <param name=""></param>
/// <returns></returns>
/// <remarks>2017-08-28</remarks>
private void Active()
{
int[,] A = new int[2, 3];
int[,] B = new int[3, 4];
int[,] C = new int[2, 4];
//初始化数组
int count = 1;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
A[i, j] = count;
count++;
}
}
count = 1;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
B[i, j] = count;
count++;
}
}
//数组乘法逻辑运算
int sum = 0;
int multiple = 0;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 4; j++)
{
for (int k = 0; k < 3; k++) //矩阵共同点
{
multiple = A[i, k] * B[k, j];
sum += multiple;
}
C[i, j] = sum;
sum = 0;
}
}
//打印数组
Console.WriteLine("A数组");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write("{0}, ", A[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("\nB数组");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write("{0}, ", B[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("\n结果数组");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write("{0}, ", C[i, j]);
}
Console.WriteLine();
}
}
}
}
结果:
4、小结
我之间一直学的是Java,首次接触到c#,很多地方都不一样,比如命名规则等,但是只要懂了一门语言其它就是换汤不换药了,肯下功夫都可以学会的。