private void btnLer1_Click(object sender, EventArgs e) { if (dlgArquivo.ShowDialog() == DialogResult.OK) { string arquivo = dlgArquivo.FileName; if (File.Exists(arquivo)) { matrizA = new ListaCruzada(new StreamReader(arquivo)); } else { File.Create(arquivo); } } if (dlgArquivo.ShowDialog() == DialogResult.OK) { string arquivo = dlgArquivo.FileName; if (File.Exists(arquivo)) { matrizB = new ListaCruzada(new StreamReader(arquivo)); } else { File.Create(arquivo); } } matrizA.Exibir(ref dgvA); matrizB.Exibir(ref dgvB); btnMultiplicar.Enabled = true; btnSomar.Enabled = true; }
private void btnLerArquivo_Click(object sender, EventArgs e) // permite que o usuário exiba a matriz após a leitura { if (dlgArquivo.ShowDialog() == DialogResult.OK) { arquivo = dlgArquivo.FileName; if (File.Exists(arquivo)) { matriz = new ListaCruzada(new StreamReader(arquivo)); } else { File.Create(arquivo); } alterandoTextDimensao = true; txtLargura.Text = matriz.Colunas.ToString(); txtAltura.Text = matriz.Linhas.ToString(); alterandoTextDimensao = false; dgv.RowCount = matriz.Linhas; dgv.ColumnCount = matriz.Colunas; exibindoMatriz = true; matriz.Exibir(ref dgv); exibindoMatriz = false; btnExcluirMatriz.Enabled = true; btnExcluirCelula.Enabled = true; btnExibirCelula.Enabled = true; label1.Enabled = true; label2.Enabled = true; nUDColuna.Enabled = true; nUDLinha.Enabled = true; btnAdicionarK.Enabled = true; } }
private void btnCriar_Click(object sender, EventArgs e) { if (txtAltura.Text != "" && txtLargura.Text != "" && !alterandoTextDimensao) { int l = int.Parse(txtAltura.Text); int c = int.Parse(txtLargura.Text); nUDColuna.Maximum = c; nUDLinha.Maximum = l; if (l >= 1 && c >= 1) { matriz.RemoverTudo(); matriz = new ListaCruzada(); matriz.MudarDimensao(l, c); dgv.RowCount = l; dgv.ColumnCount = c; exibindoMatriz = true; foreach (DataGridViewRow r in dgv.Rows) { foreach (DataGridViewCell co in r.Cells) { co.Value = 0; } } matriz.Exibir(ref dgv); exibindoMatriz = false; } } }
//---------------------------------------------------------------------------------------------------------------------------------- //Matriz 1 //---------------------------------------------------------------------------------------------------------------------------------- private void btnGerar_Click(object sender, EventArgs e) //Gera a Matriz 1 por meio do "teclado" { //Pega as linhas e colunas para criar a matriz int linhas = Convert.ToInt32(Math.Round(nLinhas.Value, 0)); int colunas = Convert.ToInt32(Math.Round(nColunas.Value, 0)); matriz1 = new ListaCruzada(linhas, colunas); //Ajusta o tamanho da matriz e preenche ela com zeros, pois como ela acabou de ser criada, ainda está vazia dgvMatriz1.RowCount = linhas; dgvMatriz1.ColumnCount = colunas; foreach (DataGridViewRow row in dgvMatriz1.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Value = 0; } } //Altera a visibilidade de outros elementos m1Existe = true; if (m2Existe) { btnSomarMatrizes.Enabled = true; btnMultiplicarMatrizes.Enabled = true; } btnGerarMatriz1.Enabled = false; lMatriz1.Enabled = true; gbOperacoes1.Visible = true; }
private void btnMultiplicarMatrizes_Click(object sender, EventArgs e) { //Multiplica a Matriz1 e Matriz2 matrizResultado = matriz1.MultiplicarMatrizes(matriz1, matriz2); matrizResultado.Exibir(ref dgvMatriz3); lMatrizResultado.Enabled = true; }
//---------------------------------------------------------------------------------------------------------------------------------- //Matriz 2 //---------------------------------------------------------------------------------------------------------------------------------- private void btnGerarMatriz2_Click(object sender, EventArgs e) //Gera a matriz 2 por meio do "teclado" { //Pega as linhas e colunas para criar a matriz int linhas = Convert.ToInt32(Math.Round(nLinhas.Value, 0)); int colunas = Convert.ToInt32(Math.Round(nColunas.Value, 0)); matriz2 = new ListaCruzada(linhas, colunas); //Preenche a matriz com zeros foreach (DataGridViewRow row in dgvMatriz1.Rows) { foreach (DataGridViewCell cell in row.Cells) { cell.Value = 0; } } //Altera a visibilidade de outros elementos m2Existe = true; if (m1Existe) { btnSomarMatrizes.Enabled = true; btnMultiplicarMatrizes.Enabled = true; } lMatriz2.Enabled = true; gbOperacoes2.Visible = true; btnGerarMatriz2.Enabled = false; }
private void btnMultiplicarMatrizes_Click(object sender, EventArgs e) { dgvResultado.Columns.Clear(); ListaCruzada resultado = matriz1.MultiplicarMatrizes(matriz2); if (resultado != null) { Listar(resultado, dgvResultado); //listamos a matriz lblResultados.Visible = true; lblResultados.Text = "Resultado da Multiplicação:"; tbMatrizes.SelectedTab = tabResultados; //usuário é direcionada a tab com o resultado } else { MessageBox.Show("As matrizes não são compatíveis para multiplicação"); } }
private void btnSomarMatrizes_Click(object sender, EventArgs e) //chama método que Soma duas matrizes { dgvResultado.Columns.Clear(); ListaCruzada resultado = matriz1.SomarMatrizes(matriz2); //criamos uma terceira matriz que é a soma das duas já existentes if (resultado != null) { Listar(resultado, dgvResultado); //listamos a matriz lblResultados.Visible = true; lblResultados.Text = "Resultado da soma:"; tbMatrizes.SelectedTab = tabResultados; //usuário é direcionada a tab com o resultado } else { MessageBox.Show("As matrizes devem ser de mesmo tamanho para a soma"); } }
private void btnLerArquivo_Click(object sender, EventArgs e) //Gera a Matriz 1 por meio da leitura de um arquivo { if (openFileDialog1.ShowDialog() == DialogResult.OK) { var arquivo = new StreamReader(openFileDialog1.FileName); //Lê as linhas e colunas do arquivo int linhasArq = int.Parse(arquivo.ReadLine()); int colunasArq = int.Parse(arquivo.ReadLine()); //Cria a matriz com as linhas e colunas desejadas matriz1 = new ListaCruzada(linhasArq, colunasArq); //Trata o arquivo lido e insere os valores na matriz em suas respectivas linhas e colunas string linha = arquivo.ReadLine(); linha = linha.Replace('(', ' '); linha = linha.Replace(')', ' '); linha = linha.Replace('{', ' '); linha = linha.Replace('}', ' '); linha.Trim(); string[] matrizString = linha.Split(','); for (int i = 0; i < matrizString.Length;) { int linhaCelula = int.Parse(matrizString[i]); i++; int colunaCelula = int.Parse(matrizString[i]); i++; double valor = double.Parse(matrizString[i]); i++; matriz1.InserirCelula(linhaCelula, colunaCelula, valor); } arquivo.Close(); matriz1.Exibir(ref dgvMatriz1); //Altera a visibilidade de outros elementos btnLerArquivoMatriz1.Enabled = false; btnGerarMatriz1.Enabled = false; lMatriz1.Enabled = true; gbOperacoes1.Visible = true; } }
public void FazerLeitura(ref ListaCruzada matrizM) { string[] instanciacao; //variável que será utilizada para instanciar uma matriz com os respcetivos valores x e y if (dlgAbrir.ShowDialog() == DialogResult.OK) { arquivoMatriz1 = dlgAbrir.FileName; var arquivo = new StreamReader(arquivoMatriz1); instanciacao = arquivo.ReadLine().Split(); //a primeira linha do arquivo nos indicará qual será o tamanho dessa matriz matrizM = new ListaCruzada(Convert.ToInt32(instanciacao[0]), Convert.ToInt32(instanciacao[1])); //após ler a primeira linha, utilizamos os valores dela para instanciar a matriz while (!arquivo.EndOfStream) //o arquivo será lido completamente e criaremos as células passadas pelo arquivo { Celula lido = Celula.LerRegistro(arquivo); matrizM.Inserir(lido.Linha, lido.Coluna, lido.Valor); } arquivo.Close(); } }
public void Listar(ListaCruzada matrizM, DataGridView dgv) { exibindo = true; matrizM.Listar(dgv); exibindo = false; }
private void Matrizes_Load(object sender, EventArgs e) { matriz1 = new ListaCruzada(5, 3); //instançiação padrão, para caso o usuário deseje ver uma matriz logo que iniciar o programa matriz2 = new ListaCruzada(5, 3); }
public frmMostrarMatriz() { InitializeComponent(); matriz = new ListaCruzada(); }
public frmOperacoes() { InitializeComponent(); matrizA = new ListaCruzada(); matrizB = new ListaCruzada(); }