Не могу понять как реализовать логику на C#

Рейтинг: -3Ответов: 1Опубликовано: 09.03.2023

введите сюда описание изображенияЕсть 2 dataGridView автоматически заполняемых таким количеством элементов, которое вводится в в textBox Над этим DataGridView. Как реализовать такую логику, при которой данные из двух DataGridView считываются и в третий добавляются с тем условием, что после каждого элемента первого dgv добавляются такие элементы из второго dgv которые меньше элемента из первого dgv. ПРИМЕР: Содержание первого dgv 4 5 6 2 Содержание второго dgv 4 9 3 Содержание третьего(результирующего) dgv 4 3 5 4 3 6 4 3 2. Прошу показать пример решения задачи кодом.

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

        private void button1_Click(object sender, EventArgs e)
        {


            //cout << "Исходный массив Х" << endl;
            int n = Convert.ToInt16(textBox1.Text);
            int[] a = new int[n];

            var column1 = new DataGridViewColumn();
            column1.HeaderText = "Элементы";
            column1.CellTemplate = new DataGridViewTextBoxCell();
            dataGridView1.Columns.Add(column1);
            Random rnd = new Random();
            for (int i = 0; i < n; i++)
            {
                a[i] = rnd.Next(10);
                dataGridView1.Rows.Add();
                dataGridView1[0, i].Value = a[i];
            }

            string[] b = new string[dataGridView1.RowCount];
            for (int i = 0; i <= dataGridView1.RowCount - 2; i++)
            {
                b[i] = dataGridView1[0, i].Value.ToString();

            }

            // cout << "Исходный массив Y" << endl;

            int n2= Convert.ToInt16(textBox2.Text);
            int[] a2= new int[n2];

            var column2 = new DataGridViewColumn();
            column2.HeaderText = "Элементы";
            column2.CellTemplate = new DataGridViewTextBoxCell();
            dataGridView2.Columns.Add(column2);
            Random rnd2  = new Random();
            for (int i = 0; i < n; i++)
            {
                a[i] = rnd.Next(10);
                dataGridView2.Rows.Add();
                dataGridView2[0, i].Value = a[i];
            }

            string[] b2 = new string[dataGridView2.RowCount];
            for (int i = 0; i <= dataGridView2.RowCount - 2; i++)
            {
                b2[i] = dataGridView2[0, i].Value.ToString();

            }
        }

    }

}

введите сюда описание изображения

Ответы

▲ 0
int[] a = new int[4]{4, 5, 6, 2};
int[] b= new int[3]{4, 9, 3};
string c = "";

foreach(var item_a in a){
    c += $"{item_a} ";
    foreach(var item_b in b){
        if(item_a > item_b){
            c += $"{item_b} ";
        }
    }
}

System.Console.WriteLine(c);

результат выполнение кода