Предмет: Информатика, автор: misabuka193

Создание приложения Windows Forms на C# в Visual Studio. Написать программу, вычисляющую произведение двух матриц произвольной размерности. Элементы матриц вводятся с клавиатуры в компонент StringGrid. Предусмотреть возможность ввода с клавиатуры количества строк и столбцов заданных матриц.

Ответы

Автор ответа: LXNE80
0

private void button1_Click(object sender, EventArgs e)

{

   int row1 = dataGridView1.Rows.Count;

   int col1 = dataGridView1.Columns.Count;

   int row2 = dataGridView2.Rows.Count;

   int col2 = dataGridView2.Columns.Count;

   if (col1 != row2)

   {

       MessageBox.Show("Невірні розміри матриць!");

       return;

   }

   double[,] matrix1 = new double[row1, col1];

   double[,] matrix2 = new double[row2, col2];

   for (int i = 0; i < row1; i++)

   {

       for (int j = 0; j < col1; j++)

       {

           matrix1[i, j] = Convert.ToDouble(dataGridView1.Rows[i].Cells[j].Value);

       }

   }

   for (int i = 0; i < row2; i++)

   {

       for (int j = 0; j < col2; j++)

       {

           matrix2[i, j] = Convert.ToDouble(dataGridView2.Rows[i].Cells[j].Value);

       }

   }

   double[,] result = new double[row1, col2];

   for (int i = 0; i < row1; i++)

   {

       for (int j = 0; j < col2; j++)

       {

           for (int k = 0; k < col1; k++)

           {

               result[i, j] += matrix1[i, k] * matrix2[k, j];

           }

       }

   }

   // Виведення результату в dataGridView3

   dataGridView3.Rows.Clear();

   dataGridView3.Columns.Clear();

   for (int i = 0; i < row1; i++)

   {

       dataGridView3.Columns.Add("", "");

   }

   for (int i = 0; i < col2; i++)

   {

       dataGridView3.Rows.Add();

   }

   for (int i = 0; i < row1; i++)

   {

       for (int j = 0; j < col2; j++)

       {

           dataGridView3.Rows[j].Cells[i].Value = result[i, j].ToString();

       }

   }

}


misabuka193: это просто код, нужно приложение в вижуал студиа
Похожие вопросы
Предмет: Математика, автор: anechkaokuneva08