Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我有一个制作6x6矩阵的程序。我想添加一段代码,扫描矩阵并给出回文数的位置_C# - Fatal编程技术网

C# 我有一个制作6x6矩阵的程序。我想添加一段代码,扫描矩阵并给出回文数的位置

C# 我有一个制作6x6矩阵的程序。我想添加一段代码,扫描矩阵并给出回文数的位置,c#,C#,我编写了这段代码,它生成了一个简单的6x6矩阵(在从用户获取输入后),我必须添加一段代码,该代码将扫描矩阵并计算回文(如果有)并显示其确切位置(例如“第一个回文在第6行,第2列\n第二个回文在第2行第4列…等等)但为此,我必须使用一种“方法”,这对我来说很奇怪,因为我没有这样做的经验。我真的希望在这里得到一些帮助。非常感谢 这是我的矩阵代码: using System; using System.Collections.Generic; using System.Linq; using Syst

我编写了这段代码,它生成了一个简单的6x6矩阵(在从用户获取输入后),我必须添加一段代码,该代码将扫描矩阵并计算回文(如果有)并显示其确切位置(例如“第一个回文在第6行,第2列\n第二个回文在第2行第4列…等等)但为此,我必须使用一种“方法”,这对我来说很奇怪,因为我没有这样做的经验。我真的希望在这里得到一些帮助。非常感谢

这是我的矩阵代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArrayMatrix
{
    class Program
    {
        static void Main(string[] args)
        {
            int i, j;
            int[,] arr1 = new int[6, 6];

            Console.Write("Input elements in the matrix :\n");
            for (i = 0; i < 6; i++)
            {
                for (j = 0; j < 6; j++)
                {
                    Console.Write("element - [{0},{1}] : ", i, j);
                    arr1[i, j] = Convert.ToInt32(Console.ReadLine());
                }
            }

            Console.Write("\nThe matrix is : \n");
            for (i = 0; i < 6; i++)
            {
                Console.Write("\n");
                for (j = 0; j < 6; j++)
                    Console.Write("{0}\t", arr1[i, j]);
            }
            Console.Write("\n\n");
            Console.ReadKey();
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间数组矩阵
{
班级计划
{
静态void Main(字符串[]参数)
{
int i,j;
int[,]arr1=新int[6,6];
Console.Write(“矩阵中的输入元素:\n”);
对于(i=0;i<6;i++)
{
对于(j=0;j<6;j++)
{
Write(“元素-[{0},{1}]:”,i,j);
arr1[i,j]=Convert.ToInt32(Console.ReadLine());
}
}
控制台。写入(“\n矩阵为:\n”);
对于(i=0;i<6;i++)
{
控制台。写入(“\n”);
对于(j=0;j<6;j++)
Write(“{0}\t”,arr1[i,j]);
}
控制台。写入(“\n\n”);
Console.ReadKey();
}
}
}

因此,根据您的规则,数字是回文:

  • 它必须大于9
  • 反转时,数字顺序必须相同
下面是一个示例,使用:

公共静态bool IsPalindrome(int值)
{
如果(值<10)
{
返回false;
}
var characters=value.ToString().ToCharArray();
返回字符.SequenceEqual(characters.Reverse());
}
文件:


第一个回文在第6行,第2列-第二个回文在第2行第4列。你是如何定义矩阵中的“回文”的?你的意思是,如果矩阵条目是,例如,“12321”?那么“1”或“11”算吗?就像一个简单的回文值一样,如果反转,则是相同的。因此1不是,01是反转的10而11是回文,因为11反转后仍然是11。是的,12321将被视为回文听起来您有足够的信息来编写
bool IsPalindrome(int值)
方法?该方法应该可以帮助您入门。遗憾的是,我已经看到了本指南,即使这样,我也无法找到将其实现到代码中的方法:(是的,先生,我明白了,但是我如何让它显示矩阵的输出?我很困惑,比如我如何让它从矩阵中搜索回文值,然后显示它的位置(与行和列相对应)好的,对于矩阵中的每个元素——行和列——你调用这个方法。它告诉你哪些条目是回文的,然后你就可以从中构造你的输出。我试过了,但它似乎在执行时卡住了,说“System.IndexOutOfRangeException:”索引超出了数组的边界。“我似乎不知道如何解决这个问题。请看这个问题:
public static bool IsPalindrome(int value)
{
    if (value < 10)
    {
        return false;
    }

    var characters = value.ToString().ToCharArray();

    return characters.SequenceEqual(characters.Reverse());
}