Помогите доработать код

Добрый вечер!
задание вот такое:
Дана матрица A(N,M). В каждой строке поменять местами
наибольший и наименьший элементы.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            double zam;
            double[,] a = new double[10, 10];
            Random random = new Random();
            for (int i = 0; i < a.GetLength(0); i++)   
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    textBox1.Text = ("a[" + Convert.ToString(i + 1) + "," + Convert.ToString(j + 1) + "]=");
                    textBox1.Text = (" ");
                }
            for (int i = 0; i < a.GetLength(0); i++) 
            {
             
                for (int j = 0; j < a.GetLength(1); j++)
                {
                   textBox1.Text = (a[i, j] + "  ");
                }
            }
            int i_min = 0, j_min = 0;
            int i_max = 0, j_max = 0;
            double min = a[0, 0];
            double max = a[0, 0];
            for (int i = 0; i < a.GetLength(0); i++)  
                for (int j = 1; j < a.GetLength(1); j++)
                {
                    if (a[i, j] <= min)
                    {
                        min = a[i, j];
                        i_min = i;
                        j_min = j;
                    }
                    if (a[i, j] >= max)
                    {
                        max = a[i, j];
                        i_max = i;
                        j_max = j;
                    }
                }
            
            zam = a[i_min, j_min];
            a[i_min, j_min] = a[i_max, j_max];
            a[i_max, j_max] = zam;
           
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    textBox2. Text=(Convert.ToString(a[i, j]) + "  ");
                }
            }
        }
    }
}

Код компилируется но при нажатии на Button выводится только одно число а не весь массив.Помогите пожалуйста решить эту проблему.

+=

Спасибо.
Еще один вопрос тогда почему теперь выводит одни нули?

Где именно?

Видимо в массив ничего другого не записано :man_shrugging:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            double zam;
            double[,] a = new double[10, 10];
            Random random = new Random();
            for (int i = 0; i < a.GetLength(0); i++)   
                for (int j = 0; j < a.GetLength(1); j++)
                {
                }
            for (int i = 0; i < a.GetLength(0); i++) 
            {
             
                for (int j = 0; j < a.GetLength(1); j++)
                {
                   textBox1.Text += (a[i, j] + "  ");
                }
            }
            int i_min = 0, j_min = 0;
            int i_max = 0, j_max = 0;
            double min = a[0, 0];
            double max = a[0, 0];
            for (int i = 0; i < a.GetLength(0); i++)  
                for (int j = 1; j < a.GetLength(1); j++)
                {
                    if (a[i, j] <= min)
                    {
                        min = a[i, j];
                        i_min = i;
                        j_min = j;
                    }
                    if (a[i, j] >= max)
                    {
                        max = a[i, j];
                        i_max = i;
                        j_max = j;
                    }
                }
            
            zam = a[i_min, j_min];
            a[i_min, j_min] = a[i_max, j_max];
            a[i_max, j_max] = zam;
           
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    textBox2. Text+=((a[i, j]) + "  ");
                }
            }
        }
    }
}

В коде по сути должно заполнение текст бокс быть рандомными числами а у меня нули

извиняюсь забыла строчку

a[i, j] = random.Next(0, 100);
``

Еще одна проблема числа не меняются местами наибольшие и наименьшие числа.
Подскажите пожалуйста где ошибка.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            double zam;
            double[,] a = new double[10, 10];
            Random random = new Random();
            for (int i = 0; i < a.GetLength(0); i++)   
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    a[i, j] = random.Next(0, 100);
                }
            for (int i = 0; i < a.GetLength(0); i++) 
            {
             
                for (int j = 0; j < a.GetLength(1); j++)
                {
                   textBox1.Text += (a[i, j] + "  ");
                }
            }
            int i_min = 0, j_min = 0;
            int i_max = 0, j_max = 0;
            double min = a[0, 0];
            double max = a[0, 0];
            for (int i = 0; i < a.GetLength(0); i++)  
                for (int j = 1; j < a.GetLength(1); j++)
                {
                    if (a[i, j] <= min)
                    {
                        min = a[i, j];
                        i_min = i;
                        j_min = j;
                    }
                    if (a[i, j] >= max)
                    {
                        max = a[i, j];
                        i_max = i;
                        j_max = j;
                    }
                }
            
            zam = a[i_min, j_min];
            a[i_min, j_min] = a[i_max, j_max];
            a[i_max, j_max] = zam;
           
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    textBox2. Text+=(a[i, j] + "  ");
                }
            }
        }
    }
}

Тут только один раз меняются, а не в каждой строке.
Если вообще нигде не поменялись, то надо для начала посмотреть какие значения min, i_min и т.д. получились.

Отладчиком или отладочным выводом (в С# например удобно Debug.WriteLine).

Поэтому надо стараться не смешивать саму задачу и ввод/вывод/UI :kolobokbatya:

Хотя бы так на функции разделить:

        private void button1_Click(object sender, EventArgs e)
        {
            double[,] a = GenerateRandomMatrix(10, 10);

            PrintMatrix(textBox1, a);

            ReplaceMinMax(a);

            PrintMatrix(textBox2, a);
        }

        private void PrintMatrix(TextBox textBox, double[,] a)
        {
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    textBox.Text += a[i, j] + "  ";
                }
                textBox.Text += Environment.NewLine; // у текстбокса должен быть Multiline = True
            }
        }

        private double[,] GenerateRandomMatrix(int n, int m)
        {
            double[,] a = new double[n, m];

            Random random = new Random();
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    a[i, j] = random.Next(0, 100);
                }
            }

            return a;
        }

        private void ReplaceMinMax(double[,] a)
        {
            int i_min = 0, j_min = 0;
            int i_max = 0, j_max = 0;
            double min = a[0, 0];
            double max = a[0, 0];
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 1; j < a.GetLength(1); j++)
                {
                    if (a[i, j] <= min)
                    {
                        min = a[i, j];
                        i_min = i;
                        j_min = j;
                    }
                    if (a[i, j] >= max)
                    {
                        max = a[i, j];
                        i_max = i;
                        j_max = j;
                    }
                }
            }

            double zam = a[i_min, j_min];
            a[i_min, j_min] = a[i_max, j_max];
            a[i_max, j_max] = zam;
        }

Все равно числа не меняются местами

Не меняются где? В моем коде это не исправлено, см. первую часть сообщения выше.

Такой момент я точку останова ставля где идет код замены i j цифры до 10 а я поставил рандомное заполнение с 10,100
что не так?

Так это размер матрицы.

Тогда я не понимаю что не так почему не меняются

Как минимум поэтому: