我已经学习了C++,并且正在使用C#。为了澄清,我提供了所有的说明,但如果我能得到(b)和(c)部分的帮助,我想我可以完成其余的工作。使用类中的函数填充矩阵(2D阵列)
这是我的任务: 矩阵是行大小为r,列大小为c的二维数组。有添加或减少矩阵A和B(具有相同行大小m和列大小n)的特定规则。矩阵A的维数m乘n(m是行大小或行维数,n是列维数),而另一个维数为p的矩阵B只有在p = n时才有意义,在这种情况下AB是矩阵尺寸m乘以q。 (a)根据行大小,列大小等至少定义私有变量来定义类Matrix。 (b)在指定行大小和列大小时提供构造函数。您将所有参数设置为0.0。 (c)提供设置矩阵条目的方法 (d)提供矩阵的添加方法 (e)提供减法方法。 (f)提供标量乘法,将矩阵A的所有元素乘以值x。 (g)提供乘法mul使得如果A的列维c等于B的行维,则A.mul(B)等于AB。如果产品AB无意义,则生成错误消息。
{
{
private int r=10;//row size
private int c=10;//column size
int[,] array=new int [10,10];
public Matrix()
{
for (int i = 0; i < this.r; i++)
{
for (int j = 0; j < this.c; j++)
{
}
}
}
public Matrix(int rowSize, int columnSize)
{
this.r = rowSize;
this.c = columnSize;
}
public void SetMatrix()
{
for (int i=0; i<this.r; i++)
{
for(int j=0; j<this.c; j++)
{
}
}
}
}
}
没有一个有限的大小,我不知道如何与创建阵列进行(在10,10只是所以编译器将停止抱怨)。其次,当它建立时,我不确定如何填充数组(很可能来自控制台)。希望我的问题听起来不像我要求某人为我做作业。 XD
只是为了澄清,当我学习C++时,当你实例化一个变量,除非你实际初始化它,变量是随机的。例如:{int x}除非我实际初始化x,否则它将是一个随机数。所以用c#,数组不是随机数字? – roadjester 2014-10-19 04:16:04
@roadjester:不。当你在c#中声明一个变量时,它会有一个默认值。例如,对于'int','float'或'double',它将是'0'。对于引用类型,它将是'null'。 – 2014-10-20 01:48:50