程序需要实现的功能:
实现一维或二维的任意数组相加
例如:
   
(2个都是1维)
    int a [] = new {1,2,3};
    int b [] = new {2,3,4};
    要的程序结果是 int c 为{3,5,7}
(1个是1维1个是2维)
     int a [] = new { {1,2,3} , {0,0,3} }
     int b [] = new {1,2,3}
     要程序结果是 int c 为 {{2,4,6},{0,0,3}}也就是说如果维数不足,就补0.2维的也是这样小弟的思路是          (1)先获取2个数组的维数 , 这个小弟已经自己会了 a.Rank 就可以获取
          (2) 获取维数多的这个数组的每个维的长度 , 小弟找的的方法是GetLength()这个方法,不知道对不对.
         (3)将 不组的数组 加 0 元素
          (4) 做 加法(这里说的加法并不是 + 这个运算符号)
求各位高手解决了,小弟是 个菜鸟,希望能大家详细回答小弟的问题!!!!!!小弟在此谢谢大家了!!!!

解决方案 »

  1.   

    大哥 你的定义对吗
    int a [] = new {1,2,3}; 
    int a [] = new { {1,2,3} , {0,0,3} } 
      

  2.   

    打错了!int a [,] = new { {1,2,3} , {0,0,3} } 
      

  3.   

    写了太急了int a [,] = new { {1,2,3} , {0,0,3} } 
      

  4.   

      //binary subtraction 矩阵减
    184        public static Matrix operator- (Matrix lhs,Matrix rhs)
    185        {
    186            if(lhs.Row != rhs.Row)    //异常
    187            {
    188                System.Exception e = new Exception("相减的两个矩阵的行数不等");
    189                throw e;
    190            }
    191            if(lhs.Col != rhs.Col)     //异常
    192            {
    193                System.Exception e = new Exception("相减的两个矩阵的列数不等");
    194                throw e;
    195            }
    196
    197            int row = lhs.Row;
    198            int col = lhs.Col;
    199            Matrix ret=new Matrix(row,col);
    200
    201            for(int i=0;i<row;i++)
    202                for(int j=0;j<col;j++)
    203                {
    204                    double d = lhs[i,j] - rhs[i,j];
    205                    ret[i,j] = d;
    206                }
    207            return ret;
    208        }
    209
    这个是别人写的,但他是要求行列数相等的,我做的是补0
      

  5.   

              (1)先获取2个数组的维数 , 这个小弟已经自己会了 a.Rank 就可以获取 
              (2) 获取维数多的这个数组的每个维的长度 , 小弟找的的方法是GetLength()这个方法,不知道对不对.  a.Length就行
            (3)将 不足的数组 加 0 元素 取长度最长的,其他不足的定义为和最长的相同,不足的补零
              (4) 做 加法(这里说的加法并不是 + 这个运算符号) 
    用for循环,将相同维数,相同下标的元素相加,放到result数组中
      

  6.   

    (2) 获取维数多的这个数组的每个维的长度 , 小弟找的的方法是GetLength()这个方法,不知道对不对.  a.Length就行 
    不能用a.Length,length是把所有元素的个数,我要知道是每1维最长的.