ATENCAO!!! ========== - `As listas que nao processarem os arquivos de acordo com as especificacoes abaixo, sera' atribuida a nota 0 (zero). - Nada devera ser impresso na tela!! ------------- - Questao 1 - ------------- Arquivo fonte: quest1.c Arquivo de entrada: quest1.in O arquivo de entrada consiste de varios conjuntos de dados. Cada conjunto comeca com uma linha contendo o numero "x" de elementos da arvore. A proxima linha contem "x" numeros, que devem ser inseridos na ordem em que aparecem em uma arvore de busca binaria. O arquivo de entrada e' terminado por um conjunto de dados comecando com "x = 0". Esse conjunto nao deve ser processado. Entrada exemplo: 4 -10 125 0 130 1 10000 0 A arvore do primeiro conjunto corresponde a: -10 \ 125 / \ 0 130 A arvore do segundo conjunto corresponde a: 10000 Arquivo de Saida: quest1.out Para cada conjunto, primeiro imprima o numero do conjunto, como mostrado na saida exemplo. Entao, imprima para cada no' da arvore o seu fator de equilibrio. Uma linha em branco separa cada conjunto. Saida exemplo correspondente `a entrada acima: Conjunto #1 0 0 130 0 125 0 -10 -2 Conjunto #2 10000 0 Observacoes: - Nao serao inseridos dois elementos iguais; - A ordem de impressao dos nos deve ser pos-ordem (primeiro sub-arvore esquerda, depois a sub-arvore direita e depois o no'). ------------------------ - Questao 2 (Turma B) - ------------------------ Arquivo fonte: quest2.c Arquivo de entrada: quest2.in Cada linha do arquivo de entrada contera' uma das seguintes instrucoes: - E (n) -> Verifica se o elemento "n" esta' na arvore; - I (n) -> Inserir o elemento "n" na arvore; - R (n) -> Remover o elemento "n" da arvore; - L -> Listar os elementos da arvore; - M -> Determinar o menor elemento da arvore; - END -> Indica final do arquivo. Entrada exemplo: I (150) I (-5110) I (1190) L M R (150) R (-5110) L R (1190) R (0) L E (0) END Arquivo de Saida: quest2.out Cada linha do arquivo de saida contera' uma das seguintes mensagens dependendo da entrada: - E (n) -> "O elemento n esta' na arvore." ou "O elemento n nao esta' na arvore.". - I (n) -> "O elemento n foi inserido." - R (n) -> "O elemento "n" foi removido." ou "Underflow!" ou "O elemento n nao esta' na arvore."; - L -> "Os elementos da arvore sao: ..." ou "A arvore esta' vazia." - M -> "O menor elemento da arvore e': ..." ou "A arvore esta' vazia." Saida correspondente a entrada acima: O elemento 150 foi inserido. O elemento -5110 foi inserido. O elemento 1190 foi inserido. Os elementos do arvore sao: -5110 1190 150 O menor elemento da arvore e': -5510 O elemento 150 foi removido. O elemento -5110 foi removido. Os elementos do arvore sao: 1190 O elemento 1190 foi removido. Underflow! A arvore esta' vazia. O elemento 0 nao esta' na arvore. Observacoes: - Nao serao inseridos dois elementos iguais; - Quando se tentar remover de uma arvore vazia a mensagem devera' ser "Underflow!". - A ordem de impressao dos nos deve ser pos-ordem (primeiro sub-arvore esquerda, depois a sub-arvore direita e depois o no'). -------------- - Questao 3 - ______________ Arquivo fonte : quest3.c Arquivo de Entrada : quest3.in Os dados a serem manipulados serão do tipo string. Cada linha do arquivo de entrada contera uma das seguintes instruções: - E (n) -> Verifica se "n" esta' no dicionario ou nao; - I (n) -> Inserir o elemento "n" no dicionario; - S (n) -> Remover o elemento "n" do dicionario; - Z -> Apagar todos os elementos do dicionario; - F -> Indica final do arquivo. Entrada exemplo: E ( joao ) I ( joao ) I ( maria ) E ( carro ) I ( abcde ) S ( maria ) E ( joao ) S ( carro ) I ( carro ) I ( casa ) S ( carro ) Z S ( casa ) F Arquivo de Saida: quest1.out - E (n) -> "O elemento "n" esta' no dicionario." ou "O elemento "n" nao esta' no dicionario." ou "O dicionario esta' vazio." - I (n) -> "O elemento "n" foi inserido no dicionario." - S (n) -> "O elemento "n" foi removido."ou "Underflow!" ou "O elemento "n" nao esta' no dicionario." - Z -> "Todos elementos foram apagados." Saida correspondente a entrada acima: O dicionario esta' vazio. O elemento "joao" foi inserido. O elemento "maria" foi inserido. O elemento "carro" nao esta' no dicionario. O elemento "abcde" foi inserido. O elemento "maria" foi removido. O elemento "joao" esta' no dicionario. O elemento "carro" nao esta' no dicionario. O elemento "carro" foi inserido. O elemento "casa" foi inserido. O elemento "carro" foi removido. Todos elementos foram apagados. Underflow! Qualquer duvida, procurar-nos nos horarios de monitorias ou via e-mail (ambos estao disponiveis na home page da disciplina). Os Monitores.