Определить номер столбца содержащий наименьший элемент матрицы через массив - C#

Узнай цену своей работы

Формулировка задачи:

Определить номер столбца содержащий наименьший элемент матрицы через массив

Решение задачи: «Определить номер столбца содержащий наименьший элемент матрицы через массив»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication4
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Console.WriteLine("Введите размерность матрицы (Количество строк, затем количество столбцов).");
  13.             int n = 0, m = 0;
  14.  
  15.             while (n <= 0 || m <= 0)
  16.             {
  17.                 Console.WriteLine("n, m > 0 !!!");
  18.                 n = int.Parse(Console.ReadLine());
  19.                 m = int.Parse(Console.ReadLine());
  20.             }
  21.  
  22.             //Инициализировали матрицу и задали занчения.
  23.  
  24.             int[,] matrix = new int[n,m];
  25.             for (int i = 0; i < n; ++i)
  26.                 for (int j = 0; j < m; ++j)
  27.                 {
  28.                     Console.WriteLine("Введите [{0},{1}] элемент", i+1, j+1);
  29.                     matrix[i, j] = int.Parse(Console.ReadLine());
  30.                 }
  31.  
  32.             int[] min_col_count = SerchColMinElem(matrix, n, m);
  33.  
  34.             Console.WriteLine("Наименьший элемент(ы) встречен(ы) в столбце(столбцах): ");
  35.             for (int i = 0; i < min_col_count.Length; ++i)
  36.                 Console.WriteLine(min_col_count[i].ToString() + " ");
  37.  
  38.             Console.ReadKey();
  39.         }
  40.  
  41.  
  42.         static int[] SerchColMinElem(int[,] matrix, int n, int m)
  43.         {
  44.             int temp_min = matrix[0,0];
  45.             int count = 0;
  46.             int[] min_count_col = new int[1];
  47.  
  48.             for (int i = 0; i < n; ++i)
  49.                 for (int j = 0; j < m; ++j)
  50.                     if (matrix[i, j] < temp_min)
  51.                     {
  52.                         temp_min = matrix[i, j];
  53.                         min_count_col[count] = j;
  54.                     }
  55.                     else
  56.                         if (matrix[i, j] == temp_min)
  57.                         {
  58.                             bool this_col_is_present = false;
  59.  
  60.                             for (int k = 0; k < min_count_col.Length; ++k)
  61.                                 if (j == min_count_col[k])
  62.                                 {
  63.                                     this_col_is_present = true;
  64.                                     break;
  65.                                 }
  66.  
  67.                             if (this_col_is_present)
  68.                                 continue;
  69.                             else
  70.                             {
  71.                                 count++;
  72.                                 Array.Resize(ref min_count_col, count + 1);
  73.                                 min_count_col[count] = j;
  74.                             }
  75.                         }
  76.             return min_count_col;
  77.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы