O professor passou uns exercicios aqui, mas não to ocnseguindo fazer nem um.. só fiz a "base" do exercicio, qualquer um que me ajudarem a fazer já ta bom, já é uma grande ajuda.
a lista de exercicios:
LISTA FILAS
1)CRIE UMA FUNÇAO QUE não DEIXE ENFILEIRAR UM ELEMENTO JÁ EXISTENTE
EX: 8 -> 4 -> 10
QUERO INSERIR O 4.
A FUNÇAO não DEIXARÁ.
2)CRIE UMA FUNÇAO QUE TROCA O ATUAL FIM DA FILA PELO INICIO.
3)CRIE UMA FUNÇAO QUE INVERTA TODA A SEQUENCIA DA FILA.
4)CRIE UMA FILA DUPLAMENTE ENCADEADA. FAÇA AS OPERAÇOES DE ENFILEIRAR E DESENFILEIRAR.
5)CRIE UMA FILA COM PRIORIDADE. (MAIOR PRIORIDADE = 0)
EXEMPLO
VALOR2 --> VALOR3 -->VALOR5
PRIORIDADE:0 PRIORIDADE:2 PRIORIDADE:1
6)CRIE UMA FUNÇAO QUE DELETA OS ELEMENTOS IMPARES DA FILA, REORGANIZANDO A MESMA.
o que eu tenho até agora:
#include <stdio.h>
#include <stdlib.h>
struct no
{
struct no* proximo;
int valor;
};
typedef struct no No;
No* inicio = NULL;
No* fim = NULL;
void pegainicio(){
if (inicio==NULL){
printf("\n\nInicio ta vazio.");
}
else{
printf("\n\n%d", inicio->valor);
}
}
void pegafim(){
if(fim==NULL){
printf("\n\nFim vazio.");
}
else{
printf("\n\n%d", fim->valor);
}
}
void main()
{
int a;
while(a!=0)
{
printf("\nDigite um numero:");
scanf("%d", &a);
if(a!=0)
{
enfileirar(a);
}
}
pegainicio();
pegafim();
desenfileirar();
pegainicio();
pegafim();
}
//CODIGO ENFILEIRAR
void enfileirar(int elemento)
{
No* novo=(No*)malloc(sizeof(No));
novo->valor=elemento;
novo->proximo=NULL;
if (inicio==fim)
{
if (inicio==NULL)
{
inicio=fim=novo;
}
else
{
inicio->proximo=novo;
fim=novo;
}
}
else{
fim->proximo =novo;
fim=novo;
}
}
//CODIGO DESENFILEIRAR
void desenfileirar()
{
/*primeiro teste - ver se ta vazia*/
/*inicio e fim tem q ser NULL*/
if (inicio==NULL)
{
printf("Fila vazia.");
}
else /*1 ou n elementos*/
{
No* aux=inicio->proximo;
free(inicio);
inicio=aux;
if(inicio==NULL)
{
fim=NULL;
}
}
}
Pergunta
pika1758
O professor passou uns exercicios aqui, mas não to ocnseguindo fazer nem um.. só fiz a "base" do exercicio, qualquer um que me ajudarem a fazer já ta bom, já é uma grande ajuda.
a lista de exercicios:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.