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