用c#写一段代码找到一个具有鞍点的二维数组(3行4列,值的范围在0~100之间)。 如果某元素是其所在行的最大值,同时是其所在列的最小值,那么该元素是二维数组的鞍点。并非所有的数组都存在鞍点。
时间: 2024-09-07 16:03:58 浏览: 22
在C#中,你可以使用嵌套循环遍历二维数组,并检查每个元素是否满足鞍点条件。下面是一个简单的示例代码:
```csharp
using System;
class Program
{
static void Main()
{
int[,] matrix = new int[3, 4] { { 50, 60, 70, 80 }, { 90, 100, 55, 65 }, { 40, 45, 35, 50 } }; // 一个3x4的二维数组例子
bool foundSaddlePoint = false;
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
if (matrix[i, j] == matrix.Max(rowValues: new[] { matrix[i, j], matrix[i - 1, j], matrix[i + 1, j] }) &&
matrix[i, j] == matrix.Min(columnValues: new[] { matrix[i, j], matrix[i, j - 1], matrix[i, j + 1] }))
{
Console.WriteLine($"Element ({i}, {j}) is a saddle point with value: {matrix[i, j]}");
foundSaddlePoint = true;
}
}
}
if (!foundSaddlePoint)
{
Console.WriteLine("No saddle point found in the array.");
}