任務是我需要檢查陣列(2D陣列)中的陣列是否是宮廷式的。
問題是我在第40行得到一個 "超出范圍 "的例外,而且我不知道如何告訴計算機在那里進行適當的計算。 if (arr[i, j] != arr[arr.GetLength(1) - i, j - 1])/code>
我需要解釋 if (arr[i] != arr[n - i - 1])對于2d陣列。
這是我到目前為止的代碼。```
class Program
{
static void Main(string[] args)?
{
Random rnd = new Random();
int n。
n = Convert.ToInt32(Console.ReadLine())。
int[,] arr = new int[n, n] 。
for (int i = 0; i < arr.GetLength(0); i )
{
for(int j = 0; j < arr.GetLength(1); j )
{
arr[i, j] = rnd.Next(1, 15) 。
}
}
for (int i = 0; i < arr.GetLength(0); i )
{
for (int j = 0; j < arr.GetLength(1); j )
{
Console.WriteLine(arr[i, j])。
}
}
int flag = 0;
for (int i = 0; i < arr.GetLength(0); i )
{
for (int j = 0; j <= arr. GetLength(1) / 2 && n != 0; j )
{
if (arr[i, j] != arr[arr.GetLength(1) - i, j - 1] )
{
Console.WriteLine(i)。
flag = 1;
break;
}
}
}
if (flag == 1)
{
Console.WriteLine("pali")。
}
else; }
{
Console.WriteLine("not pali")。
}
}
uj5u.com熱心網友回復:
你在尋找這樣的東西嗎?
namespace ConsoleApp
{
class Program {
{
static void Main(string[] args)?
{
int[,] arr = new int[,]
{
{ 1, 2, 3, 4, 5, 6 },
{ 1, 2, 3, 4, 5, 6 },
{ 1, 2, 3, 3, 2, 1 }, // Palindrome.
{ 1, 2, 3, 4, 5, 6 },
{ 1, 2, 3, 4, 5, 6 }; }; }
};
PrintArray(arr)。
CheckForPalindrome(arr);
}
static void PrintArray(>int[ 。 ] arr)。
{
for (int i = 0; i < arr.GetLength(0); i )
{
for (int j = 0; j < arr.GetLength(1); j )
{
Console.Write($"{arr[i, j]}")。
}
Console.WriteLine()。
}
}
static void CheckForPalindrome(>int[, ] arr)。
{
for (int i = 0; i < arr.GetLength(0); i )
{
var equals = true。
for (int j = 0; j < arr.GetLength(1) /2; j )
{
equals = arr[i, j] == arr[i, arr.GetLength(1) - j - 1] 。
if (equals == false)
break。
}
if (equals == true)
Console.WriteLine($"Row {i 1} is palindrome")。
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/306924.html
標籤:
上一篇:stdClass類的物件不能被轉換為字串(php)。
下一篇:<p>大家好,預先感謝你們的幫助。</p> <p>所以我想找到一個二維陣列中的最高數字。 以下是代碼:</p> <p></p>。
