Ejemplo n.º 1
0
        private void FrmCaminhos_Load(object sender, EventArgs e)
        {
            arvoreCidades = new ArvoreDeBusca <Cidades>();

            // leitura do arquivo de cidades e armazenamento na arvoreCidades
            dlgAbrir.Title = "Escolha o arquivo das Cidades de Marte";
            if (dlgAbrir.ShowDialog() == DialogResult.OK)  // abre explorador de arquivos p/ usuario escolher arquivo
            {
                StreamReader arq = new StreamReader(dlgAbrir.FileName);
                while (!arq.EndOfStream)             // enquanto não estiver no fim do arquivo
                {
                    string  linha  = arq.ReadLine(); // le uma linha por vez
                    Cidades cidade = new Cidades(int.Parse(linha.Substring(0, 3)), linha.Substring(3, 15), int.Parse(linha.Substring(18, 5)), int.Parse(linha.Substring(24)));
                    arvoreCidades.Incluir(cidade);   // add na arvore
                }
                arq.Close();
            }

            // leitura do arquivo de cidades e armazenamento na arvoreCidades
            dlgAbrir.Title = "Escolha o arquivo dos Caminhos entre as Cidades de Marte";
            if (dlgAbrir.ShowDialog() == DialogResult.OK) // abre explorador de arquivos p/ usuario escolher arquivo
            {
                grafoCidades = new GrafoBacktracking(dlgAbrir.FileName);
            }

            // exibe as cidades e seus ids nos listBoxes
            arvoreCidades.ExibirLsb(lsbDestino);
            arvoreCidades.ExibirLsb(lsbOrigem);

            // cria grafico para desenhar sobre o picture box com o mapa
            g = Graphics.FromImage(pbMapa.Image);
            arvoreCidades.DesenharMapa(arvoreCidades.Raiz, g);
            // coloca os pontos de cada cidade
        }
Ejemplo n.º 2
0
        public GrafoDijkstra(GrafoBacktracking gb, string cidadesArquivo, string caminhosArquivo, int criterio)
        {
            vertices  = new Vertice[gb.Matriz.GetLength(0)];
            adjMatrix = new int[gb.Matriz.GetLength(0), gb.Matriz.GetLength(0)];
            numVerts  = 0;
            nTree     = 0;

            for (int j = 0; j < adjMatrix.GetLength(0); j++) // zera toda a matriz
            {
                for (int k = 0; k < adjMatrix.GetLength(0); k++)
                {
                    adjMatrix[j, k] = infinity; // distância tão grande que não existe
                }
            }
            percurso = new DistOriginal[adjMatrix.GetLength(0)];
            LerArquivos(cidadesArquivo, caminhosArquivo, criterio);
        }
Ejemplo n.º 3
0
 // Evento load do formulário que realiza a leitura dos arquivos texto
 private void FrmMapa_Load(object sender, EventArgs e)
 {
     grafoBacktracking = new GrafoBacktracking(@"C:\Users\gabri\Downloads\CaminhosEntreCidadesMarte.txt");
     arvoreCidades     = new ArvoreCidades(@"C:\Users\gabri\Downloads\CidadesMarte.txt");
     caminhos          = new PilhaLista <PilhaLista <Movimento> >();
 }