Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Fila Circular #include <iostream> using namespace std; const int MAX = 3; struct fila{ int com,fim,total; int memo[MAX]; }; int menu(){ int opc; cout<<"\n1.Enfileirar"; cout<<"\n2.Desinfileirar"; cout<<"\n3.Listar"; cout<<"\n4.Preferencial"; cout<<"\nInsira a acao desejada.\n"; cin>>opc; system("cls"); return opc; } int Cheia(fila F){ if(F.total==MAX) return 1; else return 0; } int Vazia(fila F){ if(F.total==0) return 1; else return 0; } void Enfileirar(fila &F,int x){ F.fim++; if(F.fim==MAX) F.fim=0; F.memo[F.fim]=x; F.total++; } int Desinfileirar(fila &F){ int aux; aux = F.memo[F.com]; F.com++; if(F.com==MAX) F.com=0; F.total--; return aux; } void Listar(fila F){ do{ cout<<"\nValor = "<<Desinfileirar(F)<<endl; }while(!Vazia(F)); } void Preferencial(fila &F, int x){ F.com--; if(F.com==-1) F.com=MAX-1; F.memo[F.com]=x; F.total++; } int main() { fila F; int opc, x, pos; F.fim=-1; F.total = F.com = 0; do{ opc = menu(); switch(opc){ case 1://Enfileirar if(Cheia(F)) cout<<"\nFila Cheia."; else{ cout<<"\nValor = "; cin>>x; Enfileirar(F,x); } break; case 2://Desinfileirar if(Vazia(F)) cout<<"\nFila Vazia."; else cout<<"\nValor desinfeilerado "<<Desinfileirar(F); break; case 3://Listar if(Vazia(F)) cout<<"\nFila Vazia."; else{ cout<<"\nListando\n"; Listar(F); } break; case 4://Preferencial if(Cheia(F)) cout<<"\nFila Cheia."; else{ cout<<"\nValor = "; cin>>x; Preferencial(F,x); } break; } }while(opc!=5);//Para sair } ********************************************* Lista Sequencial(Ordenada) #include <iostream> using namespace std; const int MAX=6; struct lista{ int fim; int memo[MAX]; }; int menu(){ int opc; cout<<"\n1.Inserir"; cout<<"\nInsira a acao desejada.\n"; cin>>opc; system("cls"); return opc; } int cheia(lista L){ return(L.fim==MAX-1); } int vazia (lista L){ return(L.fim==-1); } void Inserir(lista &L, int x){ if(x<L.memo[0]){ for(int i=L.fim;i>=0;i--) L.memo[i+1]=L.memo[i]; L.memo[0]=x; } else{ int i = 0; while(i<=L.fim && x>L.memo[i])i++; for(int j=L.fim;j>=i;j--){ L.memo[j+1]=L.memo[j]; } L.memo[i]=x; } } void Remover(lista L, int pos){ for(int i=pos;i<=L.fim;i++) L.memo[i]=L.memo[i+1]; L.fim--; } int busca(lista L, int x){ for(int i=0;i<=L.fim;i++){ if(x==L.memo[i]){ return i; } } return -1; } int main(){ lista L; int x,opc; L.fim=-1; do{ opc = menu();{ switch(opc){ case 1://Inserir X if(cheia(L)) cout<<"\nLista Cheia!"; else{ cout<<"Valor = "; cin>>x; if(busca(L,x)==-1) Inserir(L,x); else{ cout<<"Valor = "; cin>>x; if(busca(L,x)==-1) Inserir(L,x); else cout<<"Numero já existe!"; } } break; case 2://Remover X if(vazia(L)) cout<<"\nLista Vazia!"; else{ cout<<"\nQual numero?"; cin>>x; int pos = busca(L,x); if(pos==-1) cout<<"\nNumero nao encontrado!"; else Remover(L,pos); } break; } } }while(opc!=5); } --------------------------------------------------------------------------------- Menu 1-Inserir 2-Remover 3-Listar 4-Buscar pela Matrícula(informar todos os dados) 5-Alterar um dos campos pela matrícula 6-Calculo da Média dos Salários 7-Sair Struct cad{ int mat; char nome[30]; float sal; }; Struct lista{ int fim; cad memo[MAX]; }; obs:ordenada pela matrícula
Compartilhar