·

Cursos Gerais ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

EQUIPE 07 13 Escreva um programa que simule o controle de uma pista de decolagem de aviões em um aeroporto Neste programa o usuário deve ser capaz de realizar as seguintes tarefas a Listar o número de aviões aguardando na fila de decolagem b Autorizar a decolagem do primeiro avião da fila c Adicionar um avião à fila de espera d Listar todos os aviões na fila de espera e Listar as características do primeiro avião da fila Considere que os aviões possuem um nome e um número inteiro como identificador Adicione outras características conforme achar necessário 14 Desenvolva uma função para testar se duas pilhas P1 e P2 são iguais EQUIPE 08 15 Implemente uma fila de números inteiros usando apenas arrays vetores de 100 posições Nessa fila a posição zero 0 e posição um 1 são usadas para representar a posição inicial e final da fila respectivamente O restante das posições 2 até 99 devem conter os elementos do vetor Para esse exercício você precisa a Demonstrar como inicializar esse vetor de modo a representar a fila vazia b Escrever a função desenfileira remove elementos da fila c Escrever a função enfileira adiciona elementos a fila 16 Desenvolva uma operação para transferir elementos de uma pilha P1 para uma pilha P2 cópia include stdioh define MAXSIZE 100 Função para inicializar a fila void inicializarFilaint fila Definindo a posição inicial e final como 1 para indicar que a fila está vazia fila0 1 posição inicial fila1 1 posição final Função para verificar se a fila está vazia int estaVaziaint fila A fila está vazia se a posição inicial e final são iguais return fila0 1 fila1 1 Função para verificar se a fila está cheia int estaCheiaint fila A fila está cheia se a posição final é igual à posição final máxima return fila1 MAXSIZE 1 Função para adicionar um elemento na fila enfileirar void enfileirarint fila int elemento if estaCheiafila printfErro a fila está cheia return Se a fila está vazia atualiza a posição inicial para 0 if estaVaziafila fila0 0 Incrementa a posição final e insere o elemento na posição final fila1 filafila1 2 elemento Função para remover um elemento da fila desenfileirar int desenfileirarint fila if estaVaziafila printfErro a fila está vazia return 1 Valor de erro para indicar que a fila está vazia int elemento filafila0 2 Obtém o elemento da posição inicial fila0 Incrementa a posição inicial Se a posição inicial é igual à posição final a fila está vazia if fila0 fila1 inicializarFilafila return elemento int main int filaMAXSIZE Inicializar a fila inicializarFilafila Testar operações na fila enfileirarfila 10 enfileirarfila 20 enfileirarfila 30 printfElemento removido d desenfileirarfila printfElemento removido d desenfileirarfila printfElemento removido d desenfileirarfila return 0 EXPLICAÇÃO DO CÓDIGO Neste exemplo a posição zero do vetor representa a posição inicial da fila a posição um representa a posição final da fila e as posições de 2 a 99 são usadas para armazenar os elementos da fila A função inicializarFila é usada para configurar as posições inicial e final como 1 indicando que a fila está vazia A função estaVazia verifica se a fila está vazia comparando se a posição inicial e a posição final são iguais A função estaCheia verifica se a fila está cheia comparando se a posição final é igual à posição final máxima A função enfileirar é usada para adicionar elementos na fila Primeiro é feita uma verificação para garantir que a fila não esteja cheia Se a fila estiver vazia a posição inicial é atualizada para 0 Em seguida a posição final é incrementada e o elemento é inserido na posição final A função desenfileirar é usada para remover elementos da fila Primeiro é feita uma verificação para garantir que a fila não esteja vazia Se a fila estiver vazia é exibida uma mensagem de erro e é retornado um valor de erro 1 Caso contrário o elemento da posição inicial é armazenado a posição inicial é incrementada e se a posição inicial for maior do que a posição final a fila é reinicializada No exemplo do main você pode ver como as operações são utilizadas para enfileirar elementos 10 20 30 e desenfileirar elementos Os elementos removidos são impressos no console