如何在 C# 中获取数组中的列和

本文关键字:数组 获取 | 更新日期: 2023-09-27 18:31:03

我试图做到这一点,几乎得到了它,但是当我求和时,它会将每一列相加。我的意思是第一个列是可以的,但下一个列将前一列添加到总数中。我希望他们分开,就像每个人都独立一样。帮助

)))
    int[,] vektor;
        vektor = new int[2, 5];
        vektor[0, 0] = 8;
        vektor[0, 1] = 9;
        vektor[0, 2] = 1;
        vektor[0, 3] = 5;
        vektor[0, 4] = 6;
        vektor[1, 0] = 5;
        vektor[1, 1] = 3;
        vektor[1, 2] = 2;
        vektor[1, 3] = 11;
        vektor[1, 4] = 10;
        int row;
        int col;
        int totrow = 0;
        int totcol = 0;
        double media = 0.00;
        int j = 0;
        for (row = 0; row < vektor.GetLength(0); row++)
        {
            for (col = 0; col < vektor.GetLength(1); col++)
            {
                Console.Write(vektor[row, col] + "'t");
                totrow += vektor[row, col];
            }
            Console.WriteLine(totrow);
        }
        Console.WriteLine();
        for (col = 0; col < vektor.GetLength(1); col++)
        {
            for (row = 0; row < vektor.GetLength(0); row++)
            {
                totcol += vektor[row, col];
            }
            Console.Write(totcol + "'t");
        }
        Console.ReadKey();
    }
}

}

如何在 C# 中获取数组中的列和

如果要

输出到控制台,除了不重置每列的总和之外,您正在执行的操作很好:

for (col = 0; col < vektor.GetLength(1); col++)
{
    totcol = 0; // <--- reset the sum to 0.
    for (row = 0; row < vektor.GetLength(0); row++)
    {
        totcol += vektor[row, col];
    }
    Console.Write(totcol + "'t");
}

如果您的数组将是固定大小(每行的列号相同),那么您可以简单地使用

vektor.GetLength(1)/vektor.GetLength(0)  

此除法将为您提供每行中的列数。如果您拥有的是每行中的列数不同,请使用数组而不是总计数器来存储列数。每次更改行时,都会更改数组中的位置。

int totcol[vektor.GetLength(0)];
       for (row= 0; col < vektor.GetLength(0); col++)
        {
            for (col= 0; row < vektor.GetLength(1); row++)
            {
                totcol[row= += vektor[row, col];
            }

此外,totcol 需要归零才能使计算正确。

另一方面,如果您需要简单地打印每行中的列数,则不需要数组,而只需在每次列计数迭代后将totcol归零即可。这样:

       for (row= 0; col < vektor.GetLength(0); col++)
        {
              totcol=0;
            for (col= 0; row < vektor.GetLength(1); row++)
            {
               Console.WriteLine(totcol);
            }
相关文章: