Организовать в Windows-приложении ввод и вывод матриц - двумерных массивов арифметического типа A,B и C одинакового размера. Получить матрицу D, элементы которой вычисляются по формуле dij=max{aij,(bij+cij)}.
Матрицы я создал и перенес данные в масив. Не могу сделать последнюю часть работы ( получить D). Чем сможете... хэлпаните.
Button4 - создание матрицы D
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 _7
{
public partial class Form1 : Form
{
int n = 0, m = 0;
double[,] masA, massB, massC, massD;
public Form1()
{
InitializeComponent();
}
private void AddColumns(int m, DataGridView dgv)
{
DataGridViewColumn colamn;
for (int i = 0; i < m; i++)
{
colamn = new DataGridViewTextBoxColumn();
colamn.DataPropertyName = "Столбец " + i.ToString();
colamn.Name = "Столбец " + i.ToString();
dgv.Columns.Add(colamn);
}
}
private void AddRows(int n, DataGridView dgv)
{
for (int i = 0; i < n; i++)
{
dgv.Rows.Add();
dgv.Rows[i].HeaderCell.Value = "Строка " + i.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
m = Convert.ToInt32(textBox1.Text);
n = Convert.ToInt32(textBox2.Text);
masA = new double[n, m];
massB = new double[n, m];
massC = new double[n, m];
massD = new double[n, m];
dataGridView1.Columns.Clear();
dataGridView2.Columns.Clear();
dataGridView3.Columns.Clear();
AddColumns(m, dataGridView1);
AddRows(n, dataGridView1);
AddColumns(m, dataGridView2);
AddRows(n, dataGridView2);
AddColumns(m, dataGridView3);
AddRows(n, dataGridView3);
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void button4_Click(object sender, EventArgs e)
{
string elem = "";
bool correct = true;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
try
{
elem = dataGridView3.Rows[i].Cells[j].Value.ToString();
masA[i, j] = Convert.ToDouble(elem);
label14.Text = " ";
}
catch
{
label14.Text = "Значение элемента " + "A[" + i.ToString() + "," + j.ToString() + "]" + " не корректно.Повторите ввод";
dataGridView3.Rows[i].Cells[j].Selected = true;
return;
}
}
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
do
{
correct = true;
try
{
elem = dataGridView2.Rows[i].Cells[j].Value.ToString();
massB[i, j] = Convert.ToDouble(elem);
label15.Text = " ";
}
catch
{
label15.Text = "Значение элемента " + "B[" + i.ToString() + "," + j.ToString() + "]" + " не корректно.Повторите ввод";
dataGridView2.Rows[i].Cells[j].Selected = true;
correct = false;
return;
}
} while (!correct);
}
{
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
do
{
correct = true;
try
{
elem = dataGridView1.Rows[i].Cells[j].Value.ToString();
massB[i, j] = Convert.ToDouble(elem);
label16.Text = " ";
}
catch
{
label16.Text = "Значение элемента " + "C[" + i.ToString() + "," + j.ToString() + "]" + " не корректно.Повторите ввод";
dataGridView1.Rows[i].Cells[j].Selected = true;
correct = false;
return;
}
} while (!correct);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
}
}
}