Определить номер столбца содержащий наименьший элемент матрицы через массив - C#
Формулировка задачи:
Определить номер столбца содержащий наименьший элемент матрицы через массив
Решение задачи: «Определить номер столбца содержащий наименьший элемент матрицы через массив»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { Console.WriteLine("Введите размерность матрицы (Количество строк, затем количество столбцов)."); int n = 0, m = 0; while (n <= 0 || m <= 0) { Console.WriteLine("n, m > 0 !!!"); n = int.Parse(Console.ReadLine()); m = int.Parse(Console.ReadLine()); } //Инициализировали матрицу и задали занчения. int[,] matrix = new int[n,m]; for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j) { Console.WriteLine("Введите [{0},{1}] элемент", i+1, j+1); matrix[i, j] = int.Parse(Console.ReadLine()); } int[] min_col_count = SerchColMinElem(matrix, n, m); Console.WriteLine("Наименьший элемент(ы) встречен(ы) в столбце(столбцах): "); for (int i = 0; i < min_col_count.Length; ++i) Console.WriteLine(min_col_count[i].ToString() + " "); Console.ReadKey(); } static int[] SerchColMinElem(int[,] matrix, int n, int m) { int temp_min = matrix[0,0]; int count = 0; int[] min_count_col = new int[1]; for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j) if (matrix[i, j] < temp_min) { temp_min = matrix[i, j]; min_count_col[count] = j; } else if (matrix[i, j] == temp_min) { bool this_col_is_present = false; for (int k = 0; k < min_count_col.Length; ++k) if (j == min_count_col[k]) { this_col_is_present = true; break; } if (this_col_is_present) continue; else { count++; Array.Resize(ref min_count_col, count + 1); min_count_col[count] = j; } } return min_count_col; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д