main(){
	struct pilha p;
    inicializa(&p);

    printf("Comeco Vazio : %d\n", vaziaBegin(&p));
    printf("Final Vazio : %d\n", vaziaEnd(&p));
    printf("Cheia : %d\n\n", cheia(&p));
    pushBegin(&p, 1);
    pushBegin(&p, 1);
    pushBegin(&p, 1);
    pushBegin(&p, 1);
    pushEnd(&p, 1);
    pushEnd(&p, 1);
    pushEnd(&p, 1);
    pushEnd(&p, 1);
    pushEnd(&p, 1);
    printf("\nComeco Vazio : %d\n", vaziaBegin(&p));
    printf("Final Vazio : %d\n", vaziaEnd(&p));
    printf("Cheia : %d\n\n", cheia(&p));
    printf("pop Begin : %d\n", popBegin(&p));
    printf("pop Begin : %d\n", popBegin(&p));
    printf("pop Begin : %d\n", popBegin(&p));
    printf("pop Begin : %d\n", popBegin(&p));
    printf("pop End : %d\n", popEnd(&p));
    printf("pop End : %d\n", popEnd(&p));
    printf("pop End : %d\n", popEnd(&p));
    printf("pop End : %d\n", popEnd(&p));
    printf("pop End : %d\n\n", popEnd(&p));
    printf("Comeco Vazio : %d\n", vaziaBegin(&p));
    printf("Final Vazio : %d\n", vaziaEnd(&p));
    printf("Cheia : %d\n\n", cheia(&p));
	getchar();
}
Exemplo n.º 2
0
void *songControl(void *sFilas){
	while(1){
		struct Argumentos *Arg = sFilas;
		unsigned int iThreadCol = Arg->col,row,col;
		if(cheia(sFila[iThreadCol])==true && sFila[sFila->fim-1].run == (int*)1){
			sFila->inicio = 0;
			sFila->fim = 0;
		}
		if(vazia(sFila[iThreadCol])==false){
			pop(&sFila[iThreadCol],&row,&col);
			if(strcmp(TONES_DIR,"\0") == 0){ // PISCA LED 3 VEZES
				printf("Nenhum Som Associado!\n");
				unsigned int estado = HIGH;
				for(register unsigned int cont=0 ; cont < 6 ; cont ++){
					ledControl(row,col,estado);
					delay_ms(500);
					estado = !estado;
				}
			}else{
				ledControl(row,col,HIGH); //LED ON
				char TONE_DIR[1024];
				snprintf(TONE_DIR,1024,"aplay -q %s/Tones/%s/%d%d.wav",CUR_DIR,TONES_DIR,row+1,col+1);
				my_system(TONE_DIR);
				my_system("clear");
				sFila[iThreadCol].run = (int*)1;
				ledControl(row,col,LOW);//LED OFF
			}
		}
	}
}
Exemplo n.º 3
0
bool push(int valor, stFila *qual)
{
	if (cheia(*qual)) return false;
	qual->elem[qual->fim] = valor;
	qual->fim++;
	return true;
}
Exemplo n.º 4
0
int inserir (TFila *fila, PEDIDO elemento){
	if (cheia(*fila))
		return FALSE;
	fila->vetFila[fila->fim++] = elemento;
	fila->contador++;	
	return TRUE;
}
Exemplo n.º 5
0
void Lista::insere(Item x){
	if(!cheia()){
		tam++;
		item[tam] = x;
	}
	else{
		cout << "impossivel inserir\n";
	}
}
Exemplo n.º 6
0
int entra(fila *fi, int valor) {
	if (!cheia(fi)) {
		fi->valores[fi->ultimo] = valor;
		fi->ultimo = (fi->ultimo + 1) % MAX;
		fi->tamanho++;
		
		return 1;
	}
	
	return 0;
}
void insere(struct fila *fl, int value){
    if(cheia(fl))
        printf("\nFila cheia!");
    else
    {
        fl->contador = fl->contador + 1;

        if(fl->fim == tamanho -1)
            fl->fim = 0;
        else
            fl->fim = fl->fim + 1;

        fl->item[fl->fim] = value;
    }
};
Exemplo n.º 8
0
int main(void){
	fila fila1;
	int iTamanho=10;
	iniciar(iTamanho,&fila1);
	for(int cont = 0 ; cont < 10;cont++)
			push(cont,&fila1);
	int itens=0;
	listar(fila1,&itens);
	for(int cont=fila1.inicio;cont<fila1.fim;cont++){
		printf("%d\n",fila1.elementos[cont]);
		printf("Quantidade de Itens:%d\n",itens);
	}
	for(int cont=fila1.inicio;cont<7;cont++)		
		pop(&fila1);
	int *lista=listar(fila1,&itens);
	printf("\n\n\tRemoção de Itens!\n\n");
	for(int cont=fila1.inicio;cont<fila1.fim;cont++){
		printf("%d\n",*lista++);
		//printf("%d\n",fila1.elementos[cont]);
		printf("Quantidade de Itens:%d\n",itens);
	}
	printf("\n\n\tRemoção de Itens!\n\n");
	for(int cont = fila1.inicio;cont<fila1.fim;cont++){		
		lista=listar(fila1,&itens);
		pop(&fila1);
		printf("%d\n",*lista);
		printf("Quantidade de Itens:%d\n",itens);
	}
	if(vazia(fila1)==true)	printf("\tLista Vazia!\n");
	else	printf("\tLista Não Vazia!\n");
	printf("\n\n\tInserindo Outras Coisas na Lista Na lista\n\n");
	
	for(int cont = 9 ; cont >= 0;cont--)
			push(cont,&fila1);
	listar(fila1,&itens);
	for(int cont=fila1.inicio;cont<fila1.fim;cont++){
		printf("%d\n",fila1.elementos[cont]);
		printf("Quantidade de Itens:%d\n",itens);
	}
	if(cheia(fila1)==true)	printf("Lista cheia Novamente!\n");
	else	printf("Lista não está cheia ! \n");
	printf("Teste das Músicas!\n");
	for(int cont=0;cont<4;cont++)
		for(int cont1=0;cont1<4;cont1++)	songControl(cont,cont1);
}
void furaFila(struct fila *fl, int x){
    struct fila faux;
    inicializa(&faux);

    if(cheia(fl))
    {
        printf("Fila cheia, impossivel furar");
        return;
    }

    while(!vazia(fl))
        insere(&faux, retira(fl));

    //for(var x = 0; x <= 2 && !vazia(&aux); x++)
       // insere(fl, retira(&aux))

    insere(fl, x);

    while(!vazia(&faux))
        insere(fl, retira(&faux));
};
void push(struct pilha *pp, int value){
	if(cheia(pp))
		printf("Pilha cheia\n");
	else
		pp->item[++(pp->topo)] = value;
}
Exemplo n.º 11
0
Arquivo: largura.c Projeto: junin17/C
void insere(Fila *f,int v){
    if(cheia(f)) exit(1);
    f->vet[f->fim]=v;
    f->fim++;
}
Exemplo n.º 12
0
int main (){
	
	printf("Software de Fila Circular\n\n");
	printf("Para limpar a tela durante a execucao do programa, digite '9'\n\nPara alternar entre Fila Circular Simples e Merge, digite '0'\n\nPara limpar o Merge, digite '8'\n\n");
	printf("PRESSIONE ENTER");
	fflush(stdin);
	getchar();
	system("cls");
	
	//Decisão para Fila Circular simples ou Merge de 2 Filas Circulares
	
	int menu = 3;
	int tamanho;
	int decisao;
	int valor;
	int aux;
	
	while (menu != 1 && menu != 2){
		printf("1 - Fila Circular Simples\t 2 - Merge\tOpcao: ");
		scanf("%d", &menu);
		system("cls");
	}
	
	if (menu == 1){
		fila f;
		
		printf("Entre com o tamanho da fila: ");
		scanf("%d", &tamanho);
		
		criafila(&f, tamanho);
		system("cls");
		
		while (menu == 1){
			printf("\n");
			printf("1 - Inserir\t2 - Remover\t3 - Imprimir\n4 - Vazia\t5 - Cheia\tOpcao: ");
			scanf("%d", &decisao);
			
			//INICIO SWITCH
			switch(decisao){
				
				case 1:{
					
					if(cheia(&f) == 1){
						printf("\nFila Cheia\n");
					}
					else{
						printf("Inserir valor: ");
						scanf("%d", &valor);
						inserir(valor, &f);
					}
					break;
				}
				
				case 2:{
					
					
					if(vazia(&f) == 1)
						printf("\nFila Vazia\n");
					else{
						
						remove(&f);
						printf("\nRemovido\n");
					}
					break;
				}
				
				case 3:{
					
					if(vazia(&f) == 1)
						printf("\nFila Vazia\n");
					else{
						
						imprime(&f);
						
					}
					break;
				}
				
				case 4:{
					if(vazia(&f) == 1)
						printf("\nFila Vazia\n");
					else printf("\nFila Nao Vazia\n");
					break;
				}
				
				case 5:{
					if(cheia(&f) == 1)
						printf("\nFila Cheia\n");
					else printf("\nFila Nao Cheia\n");
					break;
				}
				
				case 0:{
					menu = 2;
					system("cls");
					break;
				}
				
				case 9:{
					system("cls");
					break;
				}
				
				
			}
			// FIM SWITCH
		}
		
		
	}
	int verifica = 0;
	while (menu == 2){
		
		fila f1, f2, merge;
		int tam1, tam2;
		int decfila = 3;
		
		if (verifica == 0){
			printf("Digite o tamanho da primeira fila: ");
			scanf("%d", &tam1);
			printf("Digite o tamanho da segunda fila: ");
			scanf("%d", &tam2);
		
			criafila(&f1, tam1);
			criafila(&f2, tam2);
			criafila(&merge, tam1 + tam2);
			verifica = 9;
		}
		
		while (decfila != 1 && decfila != 2){
			
			printf("Qual fila deseja modificar? ");
			scanf ("%d", &decfila);
		
		}
		
		while (decfila == 1){
			
			while(decfila == 1){
				
				printf("\n");
				printf("1 - Inserir\t2 - Remover\t3 - Imprimir\t4 - Vazia\n5 - Cheia\t6 - Mudar Fila\t7 - Merge\tOpcao: ");
				scanf("%d", &decisao);
			
				switch(decisao){
					
					case 1:{
						
						if(cheia(&f1) == 1){
							printf("\nFila Cheia\n");
						}
						else{
							printf("Inserir valor: ");
							scanf("%d", &valor);
							inserir(valor, &f1);
						}
						break;
					}
					
					case 2:{
						
						if(vazia(&f1) == 1)
							printf("\nFila Vazia\n");
						else{
							remove(&f1);
							printf("\nRemovido\n");
						}
						break;
					}
					
					case 3:{
						
						if(vazia(&f1) == 1)
							printf("\nFila Vazia\n");
						else{
							imprime(&f1);
						}
						break;
					}
					
					case 4:{
						
						if(vazia(&f1) == 1)
							printf("\nFila Vazia\n");
						else printf("\nFila Nao Vazia\n");
						break;
					}
					
					case 5:{
						
						if(cheia(&f1) == 1)
							printf("\nFila Cheia\n");
						else printf("\nFila Nao Cheia\n");
						break;
					}
					
					case 6:{
						decfila = 3;
						system("cls");
						while (decfila != 1 && decfila != 2){
							printf("Qual fila deseja modificar? ");
							scanf ("%d", &decfila);
						}
						system("cls");
						break;
					}
					
					case 7:{
						faz_merge(&f1, &f2, &merge);
						imprime(&merge);
						break;
					}
					
					case 8: {
						while(vazia(&merge) == 0){
							remove(&merge);
						}
						if(vazia(&merge)==1)
							printf("Merge Limpo");
						break;
					}
					case 9: {
						
						system("cls");
						break;
					}
					 
				}
		
		
				
			}
			
		}
		
		while(decfila == 2){
			
			while(decfila == 2){
				
				printf("\n");
				printf("1 - Inserir\t2 - Remover\t3 - Imprimir\t4 - Vazia\n5 - Cheia\t6 - Mudar Fila\t7 - Merge\tOpcao: ");
				scanf("%d", &decisao);
			
				switch(decisao){
					
					case 1:{
						
						if(cheia(&f2) == 1){
							printf("\nFila Cheia\n");
						}
						else{
							printf("Inserir valor: ");
							scanf("%d", &valor);
							inserir(valor, &f2);
						}
						break;
					}
					
					case 2:{
						
						if(vazia(&f2) == 1)
							printf("\nFila Vazia\n");
						else{
							remove(&f2);
							printf("\nRemovido\n");
						}
						break;
					}
					
					case 3:{
						
						if(vazia(&f2) == 1)
							printf("\nFila Vazia\n");
						else{
							imprime(&f2);
						}
						break;
					}
					
					case 4:{
						
						if(vazia(&f2) == 1)
							printf("\nFila Vazia\n");
						else printf("\nFila Nao Vazia\n");
						break;
					}
					
					case 5:{
						
						if(cheia(&f2) == 1)
							printf("\nFila Cheia\n");
						else printf("\nFila Nao Cheia\n");
						break;
					}
					
					case 6:{
						system("cls");
						decfila = 3;
						if (decfila != 1 && decfila != 2){
							printf("Qual fila deseja modificar? ");
							scanf ("%d", &decfila);
						}
						system("cls");
						break;
					}
					
					case 7:{
						faz_merge(&f1, &f2, &merge);
						imprime(&merge);
						break;
					}
					
					case 8:{
						while(vazia(&merge) == 0){
							remove(&merge);
						}
						if(vazia(&merge)==1)
							printf("Merge Limpo");
						break;
					}
					
					case 9: {
						
						system("cls");
						break;
					}
					 
				}
		
		
				
			}
			
		}
		
		
		
		
	}
	
	
	
	
	
	
	fflush(stdin);
	getchar();
	return 0;
}