private void btnSomaMatriz_Click(object sender, EventArgs e) { if (matriz1.Colunas == matriz2.Colunas && matriz1.Linhas == matriz2.Linhas) { label1.Visible = true; DgvResult.Visible = true; MatrizEsparsa result = new MatrizEsparsa(1, 1); result = matriz1.SomarMatriz(matriz2); result.Exibir(DgvResult); estadoAtual = (int)estado.exibindo; atualizaBtns(); } else { MessageBox.Show("As matrizes devem ter os mesmos números de linhas e colunas para efetuar a operação", "Erro de formatação:", MessageBoxButtons.OK); } }
private void btnRead_Click(object sender, EventArgs e) { if (ofdLeitura.ShowDialog() == DialogResult.OK) { if (matrizAtual == matriz1 && matrizAtual == null) { matriz1 = new MatrizEsparsa(1, 1); matriz1 = matriz1.LerMatriz(ofdLeitura.FileName); label3.Visible = true; dgvUm.Visible = true; matriz1.Exibir(dgvUm); matrizAtual = matriz2; } else { matriz2 = new MatrizEsparsa(1, 1); matriz2 = matriz1.LerMatriz(ofdLeitura.FileName); label2.Visible = true; dgvDois.Visible = true; matriz2.Exibir(dgvDois); } } atualizaBtns(); }
private void btnConfirmar_Click(object sender, EventArgs e) { int c = 0, l = 0; double v = 0; int.TryParse(txtLinha.Text, out l); int.TryParse(txtColuna.Text, out c); double.TryParse(txtValor.Text, out v); switch (estadoAtual) { case (int)estado.criando: if (matriz1 == matrizAtual && matrizAtual == null) { matriz1 = new MatrizEsparsa(c, l); label3.Visible = true; dgvUm.Visible = true; matriz1.Exibir(dgvUm); matrizAtual = matriz2; } else { matriz2 = new MatrizEsparsa(c, l); label2.Visible = true; dgvDois.Visible = true; matriz2.Exibir(dgvDois); matrizAtual = matriz2; } btnCancelar.PerformClick(); break; case (int)estado.exibindo: label1.Visible = false; DgvResult.Visible = false; estadoAtual = (int)estado.navegando; atualizaBtns(); break; case (int)estado.excluindo: if (matriz2 == null) { if (c <= matriz1.Colunas && l <= matriz1.Linhas) { matriz1.Deletar(c, l); matriz1.Exibir(dgvUm); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } else { if (c <= matriz2.Colunas && l <= matriz2.Linhas) { matriz2.Deletar(c, l); matriz2.Exibir(dgvDois); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } btnCancelar.PerformClick(); break; case (int)estado.inserindo: if (matriz2 == null) { if (c <= matriz1.Colunas && l <= matriz1.Linhas) { matriz1.Inserir(l, c, v); matriz1.Exibir(dgvUm); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } else { if (c <= matriz2.Colunas) { matriz2.Inserir(l, c, v); matriz2.Exibir(dgvDois); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } btnCancelar.PerformClick(); break; case (int)estado.somandoK: if (matriz2 == null) { if (c <= matriz1.Colunas) { matriz1.SomarK(c, v); matriz1.Exibir(dgvUm); } else { MessageBox.Show("O valor de índice de coluna excede as dimenções da matriz", "Erro de digitação:", MessageBoxButtons.OK); } } else { if (c <= matriz2.Colunas && l <= matriz2.Linhas) { matriz2.SomarK(c, v); matriz2.Exibir(dgvDois); } else { MessageBox.Show("O valor de índice de coluna excede as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } btnCancelar.PerformClick(); break; case (int)estado.pesquisando: if (matriz2 == null) { if (c <= matriz1.Colunas && l <= matriz1.Linhas) { MessageBox.Show("o valor na célula é: " + (matriz1.Buscar(int.Parse(txtLinha.Text), int.Parse(txtColuna.Text)).Valor).ToString(), "Resultado da pesquisa:", MessageBoxButtons.OK); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } else { if (c <= matriz2.Colunas && l <= matriz2.Linhas) { MessageBox.Show("o valor na célula é: " + (matriz2.Buscar(int.Parse(txtLinha.Text), int.Parse(txtColuna.Text)).Valor).ToString(), "Resultado da pesquisa", MessageBoxButtons.OK); } else { MessageBox.Show("Os valores de índices excedem as dimenções da matriz.", "Erro de digitação:", MessageBoxButtons.OK); } } btnCancelar.PerformClick(); break; } }