C# 我的代码赢了';不要做算术题;只有矩阵的元素出现,然后什么也没有发生 namespace Suma\u diagonala\u secundara { 班级计划 { 静态void Main(字符串[]参数) { int n,i,j,s=0; Console.Write(“n=”); n=Convert.ToInt32(Console.ReadLine()); int[,]tab=新int[n,n]; 对于(i=0;i

C# 我的代码赢了';不要做算术题;只有矩阵的元素出现,然后什么也没有发生 namespace Suma\u diagonala\u secundara { 班级计划 { 静态void Main(字符串[]参数) { int n,i,j,s=0; Console.Write(“n=”); n=Convert.ToInt32(Console.ReadLine()); int[,]tab=新int[n,n]; 对于(i=0;i,c#,C#,以下行: namespace Suma_diagonala_secundara { class Program { static void Main(string[] args) { int n, i, j, s = 0; Console.Write("n= "); n = Convert.ToInt32(Console.ReadLine()); in

以下行:

namespace Suma_diagonala_secundara
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, i, j, s = 0;
            Console.Write("n= ");
            n = Convert.ToInt32(Console.ReadLine());

            int[,] tab = new int[n, n];

            for(i=0;i<n;i++)
                for (j = 0; j < n; j++)
                {
                    Console.Write("tab[{0}][{1}]= ", i + 1, j + 1);
                    tab[i, j] = Convert.ToInt32(Console.ReadLine());
                }
            Console.Write("\nElementele matricii sunt: ");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < n; j++)
                    Console.Write("{0} ", tab[i, j]);
                Console.WriteLine("");
            }
            Console.WriteLine("Suma elementelor de pe diagonala secundara este: ");
            for (i = 0; i < n; i++)
            {                
                s = s + tab[i, n - i + 1];

            }                                                                                
                Console.ReadKey();
        }
    }
}
正在引发IndexOutOfRangeException,因为您请求的索引高于数组容量

正确的循环代码为(以递减代替递增)

(i=0;i { s=s+tab[i,n-i-1]; } 在循环中

 for (i = 0; i < n; i++)
 {
     s = s + tab[i, n - i - 1];
 }

Rebecca,你能提供更多的信息吗?根据代码和你的问题,你想求和,但看不到和。你只收到数组的位置。对吗?你能提供背景和代码的意图吗?我想做的是次对角线上元素的和好的,我会的再次分析并提供解决方案。很好,您添加了代码,但是没有正文的问题很少可以回答。您是否可以编辑此内容以添加介绍?谢谢您的回答,我将代码修改为:for(i=0;i
 for (i = 0; i < n; i++)
 {
     s = s + tab[i, n - i - 1];
 }
for (i = 0; i < n; i++)
{                
    s = s + tab[i, n - i + 1];
}
for (i = 0; i < n; i++)
{                
    s = s + tab[i, n - (i + 1)];
}