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(); } }
private void btnInserir_Click(object sender, EventArgs e)//chama o método inserir, que insere um valor com base na linha e coluna desejada { double numero; if (!double.TryParse(txtValor.Text, out numero)) //verificamos se a pessoa digitou um número, caso não tenha, { MessageBox.Show("Você deve digitar um número"); //o método não será realizado e diremos a ela que ela deve inserir um valor numérico } else { if (matriz1.Inserir(Convert.ToInt32(nLinha.Value), Convert.ToInt32(nColuna.Value), numero)) { AlterarValor(Convert.ToInt32(nLinha.Value), Convert.ToInt32(nColuna.Value), numero); } else { MessageBox.Show("Já existe um valor nesta posição ou valor de linha e coluna fora dos limites da matriz"); } } }