//este método grava os valores e posições da matriz no próprio arquivo txt do qual ela foi lida public void Gravar(StreamWriter arq) { //adotamos por padrão que a primeira linha indica a quantidade de linhas e colunas, portanto na primeira leitura salvamos //estes respectivos valores arq.WriteLine(qtasLinhas + " " + qtasColunas); Celula atual = cabeca.Direita; int coluna = 1; while (atual != cabeca) { int linha = 1; Celula linhaCelula = atual.Abaixo; Celula cabecaLinha = atual; while (linha <= qtasLinhas) { if (linhaCelula != cabecaLinha && linhaCelula.Linha == linha) { arq.WriteLine(linhaCelula.ParaArquivo()); linhaCelula = linhaCelula.Abaixo; } else { arq.WriteLine((new Celula(null, null, linha, coluna, 0)).ParaArquivo()); } linha++; } coluna++; atual = atual.Direita; } arq.Close(); }