Найти числа, которые являются одновременно максимальными в своем столбце и минимальными в своей строке - C#
Формулировка задачи:
Нужна ваша помощь
Проверьте пожалуйста правильность написания программы, и как прописать индекс этого элемента?
Console.Write("Введите кол-во строк для матрицы: "); int m = int.Parse(Console.ReadLine()); Console.Write("Введите кол-во столбцов для матрицы: "); int n = int.Parse(Console.ReadLine()); int[,] a = new int[m, n]; Random rnd = new Random(); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { a[i, j] = rnd.Next(1, 10); Console.Write(a[i, j] + " "); } Console.WriteLine(); } int min = a[0,0]; int max = a[0,0]; for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) if (a[i, j] < min) min = a[i, j]; for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) if (a[i, j] > max) max = a[i, j]; if (min > max) max = min; Console.WriteLine("максимальный и минимальный: " + max); Console.ReadLine();
Решение задачи: «Найти числа, которые являются одновременно максимальными в своем столбце и минимальными в своей строке»
textual
Листинг программы
int m = 3;//кол-во столбцов int n = 4; //кол-во строк int[,] mat = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } }; int[,] minStr = new int[n, 3]; int[,] maxStol = new int [m, 3]; //поиск минимальных по строка for (int i = 0; i < n; i++) { minStr[i, 0] = mat[i, 0]; minStr[i, 1] = i; minStr[i, 2] = 0; for (int j = 1; j < m; j++) if (minStr[i, 0] > mat[i, j]) { minStr[i, 0] = mat[i, j]; minStr[i, 1] = i; minStr[i, 2] = j; } } //поиск максимальных по столбцам for (int i = 0; i < m; i++) { maxStol[i,0] = mat[i, 0]; maxStol[i, 1] = i; maxStol[i, 2] = 0; for (int j = 1; j <n; j++) if (maxStol[i, 0] < mat[j, i]) { maxStol[i, 0] = mat[j, i]; maxStol[i, 1] = j; maxStol[i, 2] = i; } } int pr = 0; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) if (maxStol[j, 0] == minStr[i, 0] && maxStol[j, 1] == minStr[i, 1] && maxStol[j, 1] == minStr[i, 1]) { Console.WriteLine("Элемент (" + maxStol[j, 1].ToString() + "," + maxStol[j, 1].ToString() + "): " + maxStol[j, 0].ToString()); pr += 1; } if (pr == 0) Console.WriteLine("Элементов нет")ж Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д