С# исправить ошибку и объяснить алгоритм нахождения седловых точек - 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; } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д