-La suma de cada columnas y filas
-La suma de todos los elementos contenidos
Con los numericUpDown vamos a seleccionar el numero de columnas y renglones una vez hecho eso vamos a introducir nuestros datos desde el dataGridView
Aqui una imagen de ejemplo como ven en el mismo dataGridView mostramos los resultados:
Ejemplo |
namespace Matriz { public partial class Form1 : Form { private int[,] matriz; private int ren, col; public Form1() { InitializeComponent(); } private void numericUpDown1_ValueChanged(object sender, EventArgs e) { dataGridView1.RowCount = Convert.ToInt32(numericUpDown1.Value); } private void numericUpDown2_ValueChanged(object sender, EventArgs e) { dataGridView1.ColumnCount = Convert.ToInt32(numericUpDown2.Value); dataGridView1.Columns[(int)numericUpDown2.Value - 1].Width = 115; } private void button1_Click(object sender, EventArgs e) { ren = dataGridView1.RowCount; col = dataGridView1.ColumnCount; matriz = new int[ren, col]; //Leer Datos for (int i = 0; i < ren; i++) for (int j = 0; j < col; j++) matriz[i, j] = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value.ToString()); //Calcular datos if (ren == col) { //Agregamos una fila y columna para mostrar los calculos en el mismo dataGriView double total = Total(); dataGridView1.Rows.Add(); SumaColumnas(); dataGridView1.Columns.Add("", ""); SumaRenglones(); dataGridView1[dataGridView1.ColumnCount - 1, dataGridView1.RowCount - 1].Value = "Suma total: " + total.ToString(); dataGridView1.Columns[dataGridView1.ColumnCount - 1].Width = 115; } else { MessageBox.Show("Para calcular los datos debe contener el mismo numero de renglones y columnas"); } } public double Total() { double suma = 0; for (int i = 0; i < ren ; i++) { for (int j = 0; j < col; j++) { suma += matriz[j, i]; } } return suma; } public void SumaColumnas() { double suma = 0; for (int i = 0; i < dataGridView1.RowCount - 1; i++) { for (int j = 0; j < dataGridView1.ColumnCount ; j++) { suma += matriz[j, i]; } dataGridView1[i, dataGridView1.RowCount -1 ].Value = "Suma Columna " + (i+1) + ": " +suma; suma = 0; } } public void SumaRenglones() { double suma = 0; for (int i = 0; i < dataGridView1.RowCount - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count - 1 ; j++) { suma += matriz[i, j]; } dataGridView1[dataGridView1.RowCount - 1, i].Value = "Total Fila " + (i + 1) + ": " + suma; suma = 0; } } private void button2_Click(object sender, EventArgs e) { dataGridView1.RowCount = 0; dataGridView1.ColumnCount = 0; } private void button3_Click(object sender, EventArgs e) { Random random = new Random(); ren = dataGridView1.RowCount; col = dataGridView1.ColumnCount; matriz = new int[ren, col]; for (int i = 0; i < ren; i++) for (int j = 0; j < col; j++) { matriz[i, j] = random.Next(1, 10); dataGridView1[i, j].Value = matriz[i, j]; } } } }DEJAR COMENTARIOS!! SUSCRIBIRSE!!!