Exemple #1
0
    //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();
    }