#include #include typedef struct tfila{ int dados[100]; int p, u; }fila; fila* criarfila(){ fila* F = (fila*) malloc(sizeof(fila)); F->u = 0; F->p = 0; return F; } void colocarnafila(fila* F, int x){ F->dados[F->u] = x; F->u = F->u + 1; if(F->u == 100) F->u = 0; return; } int retirardafila(fila* F){ int primeiro = F->dados[F->p]; F->dados[F->p] = -1; F->p++; if(F->p == 100) F->p = 0; return primeiro; } int filavazia(fila* F){ if(F->p == F->u) return 1; else return 0; } int filacheia(fila* F){ if(F->p == F->u + 1) return 1; else return 0; } int main(int argc, char* argv[]){ fila* F = criarfila(); for(int i = 0; i < 25; i++){ colocarnafila(F, i); } while(!filavazia(F)){ printf("Prox: %d\n", retirardafila(F)); } for(int i = 25; i < 110; i++){ colocarnafila(F, i); } while(!filavazia(F)){ printf("Prox: %d\n", retirardafila(F)); } for(int i = 110; i < 150; i++){ colocarnafila(F, i); } while(!filavazia(F)){ printf("Prox: %d\n", retirardafila(F)); } return 0; }