public bool EquivaleA(Arvore <Dado> outraArvore) { /* . ambas são vazias * ou * .. Info(A) = Info(B) e * ... Esq(A) eq Esq(B) e Dir(A) eq Dir(B) */ return(Eq(this.Raiz, outraArvore.Raiz)); }
private void btnClear_Click(object sender, EventArgs e) { this.dGVData.Rows.Clear(); Pilha = new CPilha(Tamanho); Fila = new CFila(Tamanho); Lista = new CLista(Tamanho); Arvore = new Arvore(Tamanho); Hash = new TabelaHash(Tamanho); this.indice = 0; }
//string filePath; string para pegar os arquivos a partir da pasta raiz do projeto public FrmCaminhos() { InitializeComponent(); cidades = new Arvore <Cidade>(); /*proporcaoAltura = pbMapa.Height / 2048m; * proporcaoLargura = pbMapa.Width / 4096m;*/ proporcaoAltura = pbMapa.Height / pbMapa.Image.Height; proporcaoLargura = pbMapa.Width / pbMapa.Image.Width; }
public void InserirMultiplosNosParaDividir() { var btree = new Arvore <int, int>(T); for (int i = 0; i < this.testChaveData.Length; i++) { this.InserirDadosDeTesteEValidarAArvore(btree, i); } Assert.AreEqual(2, btree.Altura); }
public void CriarArvoreB() { var btree = new Arvore <int, int>(T); No <int, int> root = btree.Root; Assert.IsNotNull(root); Assert.IsNotNull(root.Entradas); Assert.IsNotNull(root.Filhos); Assert.AreEqual(0, root.Entradas.Count); Assert.AreEqual(0, root.Filhos.Count); }
public void CriarArvore(FleuryNode nodoA) { FleuryNode nodoPai = new FleuryNode(nodoA.Name); Arvore.Add(nodoPai); foreach (var item in nodoA.Adjacencias) { if (!Arvore.Any(c => c.Name.Equals(item.Name))) { FleuryNode nodoFilho = new FleuryNode(item.Name); nodoPai.Adjacencias.Add(nodoFilho); CriarArvore(item); } } }
public static void EX1() { Arvore arvore = new Arvore(5); arvore.Add(2); arvore.Add(7); arvore.Add(23); arvore.Add(1); arvore.Add(15); arvore.Add(14); arvore.Add(12); arvore.Add(12); arvore.AceitaVisitante(new ExibirEmOrdemVisitor()); arvore.AceitaVisitante(new ExibirParesVisitor()); }
public animalActions(String nomeAnimal) { InitializeComponent(); if (nomeAnimal != "") { } selectedAnimal = Arvore.Pesquisar(nomeAnimal); lbAnimais.Items.Add(selectedAnimal); actionList = new Lista(); OrganizaAcoes(); lbTitulo.Content = selectedAnimal.GetType().GetTypeInfo().Name + " - " + selectedAnimal.Nome; foreach (Object o in actionList) { cboxListaAcoes.Items.Add(o); } }
public static Arvore Remover(Arvore aux, int num) { Arvore p, p2; if (aux.num == num) { if (aux.esq == aux.dir) { //o elemento a ser removido não tem filhos return(null); } else if (aux.esq == null) { //o elemento a ser removido não tem filho para à esquerda return(aux.dir); } else if (aux.dir == null) { // o elemento a ser removido não tem filho a esquerda return(aux.esq); } else { // o elemento a ser removido tem filho para ambos os lados p2 = aux.dir; p = aux.dir; while (p.esq != null) { p = p.esq; } p.esq = aux.esq; return(p2); } } else if (aux.num < num) { aux.dir = Remover(aux.dir, num); } else { aux.esq = Remover(aux.esq, num); } return(aux); }
public ActionResult GetArvoresById(long IdArvore) { //Lista de Arvores do Banco de Dados. //Tranforma a lista de arvores retornadas do banco para um objeto que javascript entende. //envia a lista de arvores para a javascript Arvore arvore = UnitOfWork.ArvoreRepository.Get(a => a.IdArvore == IdArvore && a.DataExclusao == null, includeProperties: "Cidade").FirstOrDefault(); ArvoreView arvoreview = new ArvoreView(); if (arvore != null) { arvoreview.IdArvore = arvore.IdArvore; arvoreview.Porte = arvore.Porte; ConverterUtmToLatLon converter = new ConverterUtmToLatLon(arvore.Cidade.Datum, arvore.Cidade.NorteOuSul, arvore.Cidade.Zona); LatLon _coor = converter.Convert(arvore.X, arvore.Y); if (arvore.Latitude == 0 && arvore.Longitude == 0) { arvoreview.Latitude = _coor.Lat; arvoreview.Longitude = _coor.Lon; } else { arvoreview.Latitude = arvore.Latitude; arvoreview.Longitude = arvore.Longitude; } foreach (FotoArvore foto_corrente in UnitOfWork.FotoArvoreRepository.Get(f => f.IdArvore == arvore.IdArvore && f.DataExclusao == null).ToList()) { arvoreview.Fotos.Add(new FotoArvoreView() { DataFoto = string.Format("{0:yyyy-MM-dd}", foto_corrente.DataFoto), IdFotoArvore = foto_corrente.IdFotoArvore, NumeroFoto = foto_corrente.NumeroFoto }); } } return(Json(new ResponseView() { Status = Status.OK, Result = arvoreview }, JsonRequestBehavior.AllowGet)); }
public static Arvore Inserir(Arvore aux, int num) { if (aux == null) { aux = new Arvore(); aux.num = num; aux.esq = null; aux.dir = null; } else if (num < aux.num) { aux.esq = Inserir(aux.esq, num); } else { aux.dir = Inserir(aux.dir, num); } return(aux); }
public void TestaArvore() { Arvore root = new Arvore(1); root.left = new Arvore(4); root.right = new Arvore(7); root.left.left = new Arvore(10); root.left.left.left = new Arvore(8); root.left.right = new Arvore(2); root.left.right.left = new Arvore(12); root.left.right.left.right = new Arvore(13); root.left.right.left.right.left = new Arvore(9); root.right.left = new Arvore(3); root.right.right = new Arvore(11); root.right.right.left = new Arvore(6); root.right.right.right = new Arvore(5); Funcoes.caminho_arvore(root, 9); }
private List <int> buscar(Arvore a, int n) { List <int> retorno = new List <int>(); //possui filhos if (a.filhos != null) { if (a.filhos[0] != null) { retorno = buscar(a.filhos[0], n); } if (retorno.Count == 0) { if (a.filhos.Length > 1) { if (a.filhos[1] != null) { retorno = buscar(a.filhos[1], n); } } } } if (retorno.Count > 0) { n = a.id; } if (a.id == n) { List <int> aux = new List <int>(); aux.Add(a.id); //inicializa o array aux.AddRange(retorno); retorno = aux; } return(retorno); }
public static int Consultar(Arvore aux, int num, int achou) { if (aux != null && achou == 0) { if (aux.num == num) { achou = 1; } else if (num < aux.num) { achou = Consultar(aux.esq, num, achou); } else { achou = Consultar(aux.dir, num, achou); } } return(achou); }
private static void Composite() { #region Composite Arvore arvore = new Arvore("Árvore-Root"); Arvore ramo1 = new Arvore("Ramo1"); ramo1.AdicionarItem(new Folha("Ramo1-Folha1")); ramo1.AdicionarItem(new Folha("Ramo1-Folha2")); Arvore ramo2 = new Arvore("Ramo2"); ramo2.AdicionarItem(new Folha("Ramo2-Folha1")); ramo2.AdicionarItem(new Folha("Ramo2-Folha2")); arvore.AdicionarItem(ramo1).AdicionarItem(ramo2); arvore.Criar(); #endregion Composite }
public Dijkstra() { percursos = new DistOriginal[QtdCidades]; caminhoEncontrado = new List <Caminho>(); this.vertices = new Vertice[QtdCidades]; this.matrizAdjacenciaComPeso = new int[QtdCidades, QtdCidades]; for (int i = 0; i < matrizAdjacenciaComPeso.GetLength(0); i++) { for (int j = 0; j < matrizAdjacenciaComPeso.GetLength(0); j++) { if (MatrizAdjacencia[i, j] == null) { matrizAdjacenciaComPeso[i, j] = infinity; // define todos os valores da matriz de adjacencia pra infinity } else { switch (Criterio) { case CriterioMelhorCaminho.Custo: matrizAdjacenciaComPeso[i, j] = MatrizAdjacencia[i, j].Custo; break; case CriterioMelhorCaminho.Distancia: matrizAdjacenciaComPeso[i, j] = MatrizAdjacencia[i, j].Distancia; break; case CriterioMelhorCaminho.Tempo: matrizAdjacenciaComPeso[i, j] = MatrizAdjacencia[i, j].Tempo; break; } } } } for (int i = 0; i < vertices.Length; i++) { this.vertices[i] = new Vertice(Arvore.BuscarDado(new Cidade(i, "", 0, 0))); } }
public static void caminho_arvore(Arvore root, int x) { // List to store the path List <int> arr = new List <int>(); // if required node 'x' is present // then print the path if (hasPath(root, arr, x)) { for (int i = 0; i < arr.Count - 1; i++) { Console.Write(arr[i] + "->"); } Console.Write(arr[arr.Count - 1]); } // 'x' is not present in the binary tree else { Console.Write("No Path"); } }
static void Main(string[] args) { Console.WriteLine("ARVORE BINARIA DE INT \n"); // arvore 1 Arvore <int> arvore = new Arvore <int>(10); arvore.Insert(20); arvore.Insert(12); arvore.Insert(2); // exibe a arvore 1 arvore.PeDaArvore(); Console.WriteLine("\n ARVORE BINARIA DE STRING \n"); // arvore 2 Arvore <string> arvore2 = new Arvore <string>("pedro"); arvore2.Insert("jessica"); arvore2.Insert("willis"); arvore2.Insert("bolsonario"); arvore2.Insert("leonardo"); arvore2.Insert("luciano"); arvore2.Insert("mauro"); // EXIBE A ARVORE 2 arvore2.PeDaArvore(); Console.WriteLine("\n arvore binaria de char \n "); Arvore <char> arvore3 = new Arvore <char>('A'); arvore3.Insert('D'); arvore3.Insert('F'); arvore3.Insert('H'); arvore3.Insert('J'); arvore3.Insert('B'); // exibe a arvore 3 arvore3.PeDaArvore(); Console.ReadKey(); }
public static Boolean hasPath(Arvore root, List <int> arr, int x) { // if root is NULL // there is no path if (root == null) { return(false); } // push the node's value in 'arr' arr.Add(root.id); // if it is the required node // return true if (root.id == x) { return(true); } // else check whether the required node lies // in the left subtree or right subtree of // the current node if (hasPath(root.left, arr, x) || hasPath(root.right, arr, x)) { return(true); } // required node does not lie either in the // left or right subtree of the current node // Thus, remove current node's value from // 'arr'and then return false arr.RemoveAt(arr.Count - 1); return(false); }
/// <summary> /// Realiza a instância de um animal cada e os cadastra. /// </summary> private void InstanciarTodosAnimais() { Baleia b = new Baleia(); b.Cor_pelos = "Marrom"; b.Data_Nascimento = Convert.ToDateTime("07/05/2003"); b.Nome = "Frih Wily"; b.Sexo = 'm'; b.QtMamas = 6; Cachorro c = new Cachorro(); c.Cor_pelos = "Preto"; c.Data_Nascimento = Convert.ToDateTime("05/11/2014"); c.Nome = "Magrelin"; c.QtMamas = 6; c.Sexo = 'm'; Cobra cb = new Cobra(); cb.Data_Nascimento = Convert.ToDateTime("06/08/2018"); cb.Nome = "Jararaca"; cb.Sexo = 'f'; Coruja cj = new Coruja(); cj.Cor_penas = "Cinza"; cj.Data_Nascimento = Convert.ToDateTime("05/09/2016"); cj.Nome = "Corujão"; cj.Sexo = 'm'; Gato gt = new Gato(); gt.Cor_pelos = "Branco"; gt.Data_Nascimento = Convert.ToDateTime("06/02/2017"); gt.Nome = "Mia"; gt.Sexo = 'f'; gt.QtMamas = 4; Gaviao gv = new Gaviao(); gv.Cor_penas = "Preto"; gv.Data_Nascimento = Convert.ToDateTime("05/04/2013"); gv.Nome = "Pópópó"; gv.Sexo = 'm'; Leao l = new Leao(); l.Data_Nascimento = Convert.ToDateTime("20/12/2006"); l.Nome = "Laranxxinha"; l.QtMamas = 4; l.Sexo = 'f'; l.Cor_pelos = "Laranja"; Morcego m = new Morcego(); m.Cor_pelos = "Marrom escuro"; m.Data_Nascimento = Convert.ToDateTime("01/09/2019"); m.Nome = "BatBat"; m.QtMamas = 4; m.Sexo = 'f'; Ornitorrinco o = new Ornitorrinco(); o.Data_Nascimento = Convert.ToDateTime("15/07/2002"); o.Cor_pelos = "Marrom"; o.Nome = "Perry"; o.QtMamas = 6; o.Sexo = 'm'; Pato p = new Pato(); p.Data_Nascimento = Convert.ToDateTime("16/02/2008"); p.Nome = "Donald"; p.Cor_penas = "Branco"; p.Sexo = 'm'; Pinguim pi = new Pinguim(); pi.Data_Nascimento = Convert.ToDateTime("05/06/2013"); pi.Nome = "Picolino"; pi.Sexo = 'm'; pi.Cor_penas = "Preto e Branco"; Pombo po = new Pombo(); po.Data_Nascimento = Convert.ToDateTime("14/09/2014"); po.Cor_penas = "Cinza"; po.Nome = "Jão"; po.Sexo = 'm'; Tartaruga t = new Tartaruga(); t.Data_Nascimento = Convert.ToDateTime("17/12/1823"); t.Nome = "Oogway"; t.Sexo = 'm'; Tigre ti = new Tigre(); ti.Data_Nascimento = Convert.ToDateTime("19/05/2001"); ti.Sexo = 'm'; ti.QtMamas = 6; ti.Cor_pelos = "Laranja"; ti.Nome = "König Tiger"; Arvore.Insere(b); Arvore.Insere(c); Arvore.Insere(cb); Arvore.Insere(cj); Arvore.Insere(gv); Arvore.Insere(gt); Arvore.Insere(l); Arvore.Insere(m); Arvore.Insere(o); Arvore.Insere(p); Arvore.Insere(pi); Arvore.Insere(po); Arvore.Insere(t); Arvore.Insere(ti); }
static void Main(string[] args) { Arvore raiz = null; Arvore aux = null; int op, numero, achou; do { Console.WriteLine("1 - Inserir na árvore"); Console.WriteLine("1 - Consultar um nó da árvore"); Console.WriteLine("2 - Consultar um nó da árvore"); Console.WriteLine("3 - Consultar toda a árvore em ordem"); Console.WriteLine("4 - Consultar toda a árvore em pré-ordem"); Console.WriteLine("5 - Consultar toda a árvore em pós-ordem"); Console.WriteLine("6 - Excluir um nó da árvore"); Console.WriteLine("7 - Esvaziar árvore"); Console.WriteLine("8 - Sair do programa"); op = int.Parse(Console.ReadLine()); switch (op) { case 1: Console.WriteLine("Digite o número a ser inserido:"); numero = int.Parse(Console.ReadLine()); raiz = Inserir(raiz, numero); Console.WriteLine("Número inserido na árvore"); break; case 2: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { Console.WriteLine("Digite o número a ser consultado:"); numero = int.Parse(Console.ReadLine()); achou = 0; achou = Consultar(raiz, numero, achou); if (achou == 0) { Console.WriteLine("Número não encontrado na árvore!"); } else { Console.WriteLine("Número encontrado na árvore!"); } } break; case 3: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { Console.WriteLine("Listando todos os elementos da árvore em ordem"); Mostraremordem(raiz); } break; case 4: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { Console.WriteLine("Listando todos os elementos da árvore em pré-ordem"); Mostrarempreordem(raiz); } break; case 5: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { Console.WriteLine("Listando todos os elementos da árvore em pós-ordem"); Mostraremposordem(raiz); } break; case 6: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { Console.WriteLine("Digite o número a ser removido:"); numero = int.Parse(Console.ReadLine()); achou = 0; achou = Consultar(raiz, numero, achou); if (achou == 0) { Console.WriteLine("Número não encontrado na árvore!"); } else { raiz = Remover(raiz, numero); } Console.WriteLine("Número encontrado na árvore!"); } break; case 7: if (raiz == null) { Console.WriteLine("Árvore vazia"); } else { raiz = null; Console.WriteLine("Árvore esvaziada"); } break; case 8: break; default: Console.WriteLine("Opção inválida"); break; } } while (op != 8); }
static void escolheOpcao() { if (opcao.Equals("1")) { Console.Write("Lista de números de 1 a 100:\n "); Funcoes.imprimeNumeros(); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else if (opcao.Equals("2")) { List <int> numeros; Console.Write("Digite uma lista de números inteiros separados por virgula:"); string input = Console.ReadLine(); numeros = input.Split(',').Select(Int32.Parse).ToList(); long soma = Funcoes.somaDeQuadrados(numeros); Console.WriteLine("A soma dos quadrados é: {0}", soma); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else if (opcao.Equals("3")) { var fibonacci = Funcoes.retornaFibonacci(); Console.WriteLine("Fibonacci: {0}", fibonacci); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else if (opcao.Equals("4")) { //Cria arvore Arvore root = new Arvore(1); root.left = new Arvore(4); root.right = new Arvore(7); root.left.left = new Arvore(10); root.left.left.left = new Arvore(8); root.left.right = new Arvore(2); root.left.right.left = new Arvore(12); root.left.right.left.right = new Arvore(13); root.left.right.left.right.left = new Arvore(9); root.right.left = new Arvore(3); root.right.right = new Arvore(11); root.right.right.left = new Arvore(6); root.right.right.right = new Arvore(5); Console.WriteLine("Digite um nó:"); var n = Console.ReadLine(); Int32.TryParse(n, out int node); Funcoes.caminho_arvore(root, node); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else if (opcao.Equals("5")) { Console.WriteLine("Digite uma sequencia de numeros separados por virgula:"); var sequencia = Console.ReadLine(); int[] numeros = Array.ConvertAll(sequencia.Split(','), int.Parse); var result = Funcoes.Acumular((s, n) => (s >= n) ? n : s, Int32.MaxValue, numeros.ToList()); Console.WriteLine(result); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else if (opcao.Equals("6")) { Console.WriteLine("Digite uma palavra:"); var palavra = Console.ReadLine(); var result = Funcoes.palavraTriangulo(palavra); Console.WriteLine(result); Console.ReadLine(); opcao = montaMenu(); escolheOpcao(); } else { Console.WriteLine("Opção inválida."); opcao = montaMenu(); escolheOpcao(); } }
static void Main(string[] args) { long memoriaInicial = GC.GetTotalMemory(false); DateTime tempoInicial = DateTime.Now; Arvore arvore = Narrativa.GetNarrativa(); DateTime tempoFinal = DateTime.Now; double tempoUsado = (tempoFinal - tempoInicial).TotalMilliseconds; while (arvore.noAtual.Ligacoes.Count > 0) { Console.WriteLine(arvore.noAtual.Escolha.EscolhaTexto); arvore.noAtual = arvore.noAtual.EscolherLigacao(); } Console.WriteLine(arvore.noAtual.Escolha.EscolhaTexto); Console.WriteLine("Fim de jogo"); long memoriaFinal = GC.GetTotalMemory(false); long memoriaUsada = memoriaFinal - memoriaInicial; Console.ReadKey(); // Benchmarks: // Tempo: // Diferença em milisegundos através dos DateTimes "tempoInicial" e "tempoFinal" // A diferença é calculada em: double tempoUsado = (tempoFinal - tempoInicial).TotalMilliseconds; // Memória: // Pegamos a quantidade da memória através do código "GC.GetTotalMemory(false);" no inicio e fim da vida do código. // Por fim, é feito o calculo da diferença em: long memoriaUsada = memoriaFinal - memoriaInicial; // Numero de linhas para narrativa: // Contagem de linhas na função "Narrativa.GetNarrativa()" removendo comentários e linhas vazias através do programa Notepad++ // Contagem de dados e repetições: // Os dados foram contados e revisados manualmente durante a construção da árvore utilizando o site www.mindmeister.com // A coleta de numero dados pode ser vista abaixo: //// As repetições foram calculadas da seguinte maneira: Caso só tenha 1 do elemento, ele é unico, se tiver mais do que um //// é porque há repetições nele onde: Repetições = QuantidadeTotal - 1 //// Ex: Tem 2 nós com o mesmo final, logo, 1 final só existe e 1 dado é repetição dele. Repetições = 2 - 1 = 1 //// Até Hotel //Final = 18 //Sim = 9 //Não = 9 //Volta = 9 //VoltaCarro = 9 //HotelRuim = 3 //HotelMedio = 3 //HotelBom = 3 //CarroBom = 1 //Carromedio = 1 //CarroRuim = 1 //Aleatoriedade = 1 //Hotel = 1 //Hospedagem = 1 //Carro = 1 //Veiculo = 1 //Gramado = 1 //Raiz = 1 //SubTotal = 73 //SubTotal Repetidos = 55 //// Até Carro //Final = 36 //Sim = 18 //Não = 18 //Volta = 18 //VoltaCarro = 18 //HotelRuim = 6 //HotelMedio = 6 //HotelBom = 6 //CarroBom = 2 //Carromedio = 2 //CarroRuim = 2 //Aleatoriedade = 2 //Hotel = 1 //Casa = 1 //Hospedagem = 1 //Carro = 1 //Veiculo = 1 //Gramado = 1 //Raiz = 1 //SubTotal = 141 //SubTotal Repetidos = 122 //// Até Gramado //Final = 54 //Sim = 18 //Não = 18 //Volta = 36 //VoltaCarro = 18 //VoltaAvião = 18 //HotelRuim = 12 //HotelMedio = 12 //HotelBom = 12 //CarroBom = 4 //Carromedio = 4 //CarroRuim = 4 //Aleatoriedade = 4 //Hotel = 2 //Casa = 2 //Hospedagem = 2 //Carro = 1 //Avião = 1 //Veiculo = 1 //Gramado = 1 //Raiz = 1 //SubTotal = 225 //SubTotal Repetidos = 204 //// Até Raiz //Final = 108 //Sim = 36 //Não = 36 //Volta = 72 //VoltaCarro = 36 //VoltaAvião = 36 //HotelRuim = 24 //HotelMedio = 24 //HotelBom = 24 //CarroBom = 8 //Carromedio = 8 //CarroRuim = 8 //Aleatoriedade = 8 //Hotel = 4 //Casa = 4 //Hospedagem = 4 //Carro = 2 //Avião = 2 //Veiculo = 2 //Gramado = 1 //Natal = 1 //Raiz = 1 //SubTotal = 449 //SubTotal Repetidos = 427 // Total Branching: 449 dados // Total Repetições: 427 dados }
/// <summary> /// Se retornar true, o cadastro foi efetuado. Se não, algo de errado ocorreu. /// </summary> /// <param name="tipoAnimal"></param> /// <returns></returns> private void Cadastro(Animal tipoAnimal) { try { if (VerificarCamposBasicos()) { return; } // Se os campos mais básicos não estiverem vazios, eles serão preenchidos. tipoAnimal.Nome = txt_nome.Text; tipoAnimal.Data_Nascimento = Convert.ToDateTime(txt_dataNascimento.Text); if (cb_sexo.SelectedIndex == 0) { tipoAnimal.Sexo = 'm'; } else if (cb_sexo.SelectedIndex == 1) { tipoAnimal.Sexo = 'f'; } // Verificação de que tipos de animais estão sendo cadastrados, verificando os seus próprios componentes. if (tipoAnimal is Ave) { // Verifica se o campo está vazio. if (VerificarCampoVazio(txt_corPenas, "cor das penas")) { return; } // Se não estava vazio, realiza a inserção de fato. (tipoAnimal as Ave).Cor_penas = txt_corPenas.Text; } if (tipoAnimal is Mamifero) { // Também realiza as verificações de campos vazios, mas da forma mais específica pra o tipo de animal. if (VerificarCampoVazio(txt_corPelos, "cor dos pêlos")) { return; } if (VerificarCampoVazio(txt_quantMama, "quantidade de mamas")) { return; } // Se o campo 'quantidade de mamas' não estiver vazio, ainda assim precisará verificar se é um número inteiro válido. int quantMamas; if (!int.TryParse(txt_quantMama.Text, out quantMamas)) { MessageBox.Show("O campo 'quantidade de mamas' está num formato incorreto. Por favor, escreva um valor inteiro válido.", "Erro", MessageBoxButton.OK, MessageBoxImage.Error); return; } // Caso tenha passado por todas as verificações, pode-se enfim atribuir as propriedades do mamífero. (tipoAnimal as Mamifero).Cor_pelos = txt_corPelos.Text; (tipoAnimal as Mamifero).QtMamas = quantMamas; } Arvore.Insere(tipoAnimal); // Realiza, por fim, a inserção. MessageBox.Show("Animal cadastrado!", "Cadastro realizado", MessageBoxButton.OK); LimparCampos(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
/// <summary> /// Metodo que exibe o Menu do sistema e verifica e encaminha para o próximo método de acordo com resposta /// </summary> private static void MenuSistema() { Console.ForegroundColor = ConsoleColor.Magenta; Console.SetBufferSize(2, 2); Console.WriteLine("Escolha uma das opções do menu:"); Console.WriteLine(" 1 - Calculo de área"); Console.WriteLine("2 - Mostrar Animação"); Console.WriteLine("3 - Mostrar marcas de cerveja"); Console.WriteLine("4 - Mostrar marcas de carro"); Console.WriteLine("5 - Sair do Sistema"); var menuEscolhido = 0; try { menuEscolhido = int.Parse(Console.ReadLine()); } catch { Console.Clear(); MenuSistema(); } switch (menuEscolhido) { case 1: { Console.Clear(); CalculaArea(); Retornando(); } break; case 2: { Console.Clear(); Arvore.ArvoreDesenho(); Retornando(); } break; case 3: { Console.Clear(); ListaCerveja.Cervejas(); Retornando(); } break; case 4: { Console.Clear(); ListaCarros.Carros(); Retornando(); } break; case 5: { Console.WriteLine("Saindo..."); return; } default: Console.Clear(); MenuSistema(); break; } }
public FrmArvore() { InitializeComponent(); arvore = new Arvore <Funcionario>(pbArvore); }
public int[] caminho_arvore(Arvore a, int n) { return(buscar(a, n).ToArray()); }
private void InserirDadosDeTeste(Arvore <int, int> btree, int testDataIndice) { btree.Inserir(this.testChaveData[testDataIndice], this.testValorData[testDataIndice]); }
public JsonResult RetornaArvore() { List <ConsultaPmml> consulta = Session["ConsultaPMML"] as List <ConsultaPmml>; if (consulta.Count <= 0) { return(null); } ArvoreGerada arvoreGerada; arvoreGerada = db.ArvoreGerada.Find(consulta[0].ArvoreGeradaId); ViewBag.PossuiNosFilhos = true; if (arvoreGerada != null) { Arvore arv; Arvore arvoreNova = new Arvore(); var xml = new System.Xml.Serialization.XmlSerializer(typeof(Arvore)); using (StringReader textWriter = new StringReader(arvoreGerada.XML)) { arv = xml.Deserialize(textWriter) as Arvore; } arvoreNova.NoRaiz = new No() { Label = arv.NoRaiz.Legenda, ValorTotal = arv.NoRaiz.ValorTotal, Caminho = true }; if (!string.IsNullOrEmpty(consulta[1].Valor)) { foreach (var no in arv.NoRaiz.NosFilhos) { No novoNo = new No { Label = no.Label, ValorTotal = no.ValorTotal, MaiorValorClasseMeta = no.MaiorValorClasseMeta, Valor = (no.Tipo == Tipo.Contínuo ? (no.MenorIgual ? "<= " : "> ") : string.Empty) + no.Valor }; arvoreNova.NoRaiz.NosFilhos.Add(novoNo); if (consulta[1].Nome == no.Nome && no.Valor == consulta[1].Valor) { novoNo.Caminho = true; if (novoNo.NosFilhos.Count <= 0) { ViewBag.PossuiNosFilhos = false; } if (consulta.Count > 2 && !string.IsNullOrEmpty(consulta[2].Valor)) { CriaProximoNivel(no, consulta, 2, novoNo); } } } } var json = new JavaScriptSerializer().Deserialize(new JavaScriptSerializer().Serialize(arvoreNova.GerarJSON()), typeof(JsonArvore)); return(this.Json(json, JsonRequestBehavior.AllowGet)); } return(null); }
private void InserirDadosDeTesteEValidarAArvore(Arvore <int, int> btree, int testDataIndice) { btree.Inserir(this.testChaveData[testDataIndice], this.testValorData[testDataIndice]); ValidacaoArvore.ValidarArvore(btree.Root, T, this.testChaveData.Take(testDataIndice + 1).ToArray()); }