Вывести строку и столбец матрицы - C#

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

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

public Form1()
        {
            InitializeComponent();
        }
        int n; int m;
        private void button1_Click(object sender, EventArgs e)
        {

            int[,] a = new int[n, m];
            int[,] input = new int[n, m];
            for (int i = 0; i < n; ++i)
            {
                for (int j = 0; j < m; ++j)
                {
                    a[i, j] = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value);
 
                }
            }
            
            int Column;
            int Row;

            int min =  input[0, 0];
            Row = 0;
            Column = 0;
 
            for (int i = 0; i < input.GetLength(0); i++)
                for (int j = 0; j < input.GetLength(1); j++)
                    if (input[i, j] < min)
                    {
                        min = input[i, j];
                        Column = j;
                        Row = i;
                    }
            label1.Text = "Cтрока и столбец матрицы, на пересечении которых находится минимальный  элемент матрицы " + Convert.ToString(min); 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.RowCount = 4;
            dataGridView1.ColumnCount = 4;
        }
Задание: вывести строку и столбец матрицы, на пересечении которых находится мин элемент. Помогите исправить код. Спасибо

Решение задачи: «Вывести строку и столбец матрицы»

textual
Листинг программы
  private void AddColumns(int m, DataGridView dgw)
        {
            //добавляет n столбцов в элемент управления dgw
            //Заполнение DGView столбцами
            DataGridViewColumn column;
            for (int i = 0; i < m; i++)
            {
                column = new DataGridViewTextBoxColumn();
                column.DataPropertyName = "Столбец" + i.ToString();
                column.Name = "Столбец" + i.ToString();
                dgw.Columns.Add(column);
            }
        }
        private void AddRows(int k, DataGridView dgw)
        {
            //добавляет m строк в элемент управления dgw            
            //Заполнение DGView строками
            for (int i = 0; i < k; i++)
            {
                dgw.Rows.Add();
                dgw.Rows[i].HeaderCell.Value
                    = "row" + i.ToString();
            }
        }
 
        public double[][] MatrixCreate(int rows, int cols)
        {
            m1 = Convert.ToInt32(textBox1.Text);
            k = m1;
            rows = m1;
            n = Convert.ToInt32(textBox1.Text);
            p = n;
            cols = n;
            if (m1 != 0 || n != 0)
            {
                /*Очищаем матрицу */
                dataGridView1.Columns.Clear();
                dataGridView2.Columns.Clear();
                /*Заполнение DGView столбцами */
                AddColumns(m1, dataGridView1);
                AddColumns(k, dataGridView2);
                /*Заполнение DGView строками*/
                AddRows(n, dataGridView1);
                AddRows(p, dataGridView2);
                Random rnd = new Random();
                double[][] result = new double[rows][];
 
                //    int g = 0;
                // Создаем матрицу, полностью инициализированную
                // значениями 0.0. Проверка входных параметров опущена.
                for (int i = 0; i < rows; ++i)
                {
                    result[i] = new double[cols];
                }
 
 
                /*  for (int i = 0; i < rows; ++i)
                   {   
                       for (int j = 0; j < cols; ++j)
                       {   
                           result[i] = new Double[cols];
                           g=rnd.Next(10, 500);
                       result[i][j] = rnd.Next(10,500);                        
                       dataGridView1.Rows[i].Cells[j].Value = result[i][j];
                     
                       }
                   } 
                   return result;*/
                for (int i = 0; i < rows; ++i)
                    for (int j = 0; j < cols; ++j)
                    {
                        result[i][j] = rnd.Next(10, 500);
                        //   dataGridView1.Rows[i].Cells[j].Value = result[i][j];
                    }
                return result;
 
 
                //  Random ran = new Random();
                //   for (int i = 0; i < rows; ++i)
                //     for (int j = 0; j < cols; ++j)
                //          result[i][j] = (maxVal - minVal) * ran.NextDouble() + minVal;
 
            }
            return null;
        }

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


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

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

8   голосов , оценка 4.375 из 5
Похожие ответы