С# исправить ошибку и объяснить алгоритм нахождения седловых точек - C#
Формулировка задачи:
Можете подправить косяки, и объяснить как найти номер всех седловых точек массива. ЗЫ матрица А имеет седловую точку Аij, если Аij является минимальном элементом в i-той строке и максимальным в j-ом столбце.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace масивСИШАРП
{
class Program
{
static void Main(string[] args)
{
const int m = 4, n = 4;
int[,] a=new int[m, n] {
{1, -2, 3, 4},
{5, -6, -7, 8},
{-9, 10, 11, 12},
{13, -14, 15, -16},
};
Console.WriteLine("Исходный масив:" );
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
Console.WriteLine("\t", +a[i, j]);
Console.WriteLine();
}
double summ = 0;
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
summ += a[i, j];
if (a[i, j] >= 0) ++summ;
}
Console.WriteLine("Сумма положительных элементов" + summ);
}
}
}Решение задачи: «С# исправить ошибку и объяснить алгоритм нахождения седловых точек»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace масивСИШАРП
{
class Program
{
static void Main(string[] args)
{
const int m = 4, n = 4;
int[,] a = new int[m, n] {
{0, -2, 3, 4},
{5, -6, -7, 8},
{-9, -10, 11, -12},
{13, -14, 15, -15},
};
double summ = 0;
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
{
if (a[i, j] > 0)
{
summ += a[i, j];
}
int max = int.MinValue, min = int.MaxValue, jmin=int.MaxValue, imax=int.MinValue;
if (a[i, j] < min)
{
min = a[i, j];
jmin = j;
}
if (i == n - 1)
{
for (int k = 0; k < m; k++)
if (a[k, jmin] > max)
{
max = a[k, jmin];
imax = k;
}
}
}
}
}
}