예제 #1
0
        private void lerCidades(string nomeArq, ref int qtdCidades)
        {
            StreamReader leitor = new StreamReader(nomeArq);

            while (!leitor.EndOfStream)
            {
                Cidade cidade = LerCidade(leitor.ReadLine());
                arvoreCidades.Incluir(cidade);
                qtdCidades++;
            }
        }
        public Marte(string cidadeMarteArquivo, string caminhosEntreMarteArquivo)
        {
            if (cidadeMarteArquivo.Trim() == null || caminhosEntreMarteArquivo.Trim() == null)
            {
                throw new Exception("Nome do arquivo null");
            }

            if (cidadeMarteArquivo.Trim().Equals("") || caminhosEntreMarteArquivo.Trim().Equals(""))
            {
                throw new Exception("Nome do arquivo vazio");
            }

            this.cidadeMarteArquivo        = cidadeMarteArquivo;
            this.caminhosEntreMarteArquivo = caminhosEntreMarteArquivo;

            StreamReader LeitorCidade  = new StreamReader(cidadeMarteArquivo);
            StreamReader LeitorCaminho = new StreamReader(caminhosEntreMarteArquivo);

            int numeroDeCidades = 0;

            cidades = new ArvoreCidades();
            while (!LeitorCidade.EndOfStream)
            {
                string linha  = LeitorCidade.ReadLine();
                Cidade cidade = new Cidade(linha);
                cidades.Incluir(cidade);
                numeroDeCidades++;
            }


            matrizAdjacenteDeCaminhos = new Caminho[numeroDeCidades, numeroDeCidades];

            while (!LeitorCaminho.EndOfStream)
            {
                string  linha   = LeitorCaminho.ReadLine();
                Caminho caminho = new Caminho(linha);
                MatrizAdjacenteDeCaminhos[caminho.GetIdOrigem, caminho.GetIdDestino] = caminho;
            }
        }