C#在特殊条件下将1×3矩阵转换为3×3矩阵

C#在特殊条件下将1×3矩阵转换为3×3矩阵,c#,matrix,nested-loops,C#,Matrix,Nested Loops,我用这个代码从文本文件中读取一个1x3矩阵(159),并从中生成一个3x3矩阵 输出矩阵应为: 100 050 09 使用循环(和条件-如果需要)。我得到的最接近的结果是: 100 50 90 这是我的密码: for (int x = 0; x <= 2; x++) { for (int y = 0; y <= 2; y++) { sw.Write("{0} ", matrix[x, y]);

我用这个代码从文本文件中读取一个
1x3矩阵(159)
,并从中生成一个
3x3矩阵

输出矩阵应为:

100

050

09

使用循环(和条件-如果需要)。我得到的最接近的结果是:

100

50

90

这是我的密码:

    for (int x = 0; x <= 2; x++)
    {
          for (int y = 0; y <= 2; y++)
        {
            sw.Write("{0} ", matrix[x, y]);
            sw.WriteLine();
        }
    }
    sw.WriteLine();
    sw.Close();

for(intx=0;x我认为您可以这样做。
让我们考虑矩阵的原矩阵和矩阵,最后矩阵。</P>
这就是逻辑

//Convert 1x3 into 3x3
for (int x = 0; x <= 2; x++)
{         
        matrixB[x,x]=matrixA[x];
}
//Display Matrix 
for (int x = 0; x <= 2; x++)
{
      for (int y = 0; y <= 2; y++)
    {
        sw.Write("{0} ", matrix[x, y]);
        sw.WriteLine();
    }
}
sw.WriteLine();
sw.Close();
//将1x3转换为3x3

对于(int x=0;x,这里有一个使用Linq的解决方案。请确保将System.Linq添加到using子句中。我确实看到您希望使用循环。无论如何,我将把它留在这里,作为一种更惯用的表达解决方案的方法,以供参考

  var matrix1 = new int[] {1,5,9};
  var matrix3 = matrix1.Select ((v, i) => {
    var n = new int[matrix1.Length];
    n [i] = v;
    return n;
  });
  foreach (var v in matrix3)
    Console.WriteLine ("{0} {1} {2}", v[0],v[1],v[2]);

我试着用循环来操纵它。或者这是不可能的?这是家庭作业-所以答案在问题中:它说的是“和条件”-所以你需要看看在哪里使用条件…也许你可以解释什么条件对于非零数的位置是真的。