Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''fila''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 19 registros

  1. Olá, estou tentando criar uma fila em C, mas não sei como faço pra que a minha função retorne ao menu, e nem consigo determinar um ponto de parada pra a execuçao da fila. grato. #include <stdio.h> #include <stdlib.h> #include <locale.h> main(){ setlocale(LC_ALL, "Portuguese"); int senha=0; // posição char cl [20]; //cliente int op=0; //operação printf("#################### BEM VINDO ####################\n\n"); printf("OPERAÇÃO\n"); printf("Digite (0) pra fechar aplicação\n"); printf("Digite (1) para saques e depositos\n"); printf("Digite (2) para previdência\n"); scanf("%i", &op); system("cls"); if(op==1){ do{ printf("SAQUES E DEPÓSITOS\n"); printf("\nDigite o Nome do Cliente:\n"); scanf("\n%19s", &cl); senha++; printf("\t>>Cliete:%s\t>>Senha: PAG 0%i\n", cl, senha); } while ((senha>=1&&senha<20)); if(senha==0){ printf("Fila vazia"); if(senha==20){ printf("Fila Cheia"); } } } if(op==2){ do{ printf("PREVIDÊNCIA"); printf("\nDigite o Nome do Cliente:\n"); //system("pause"); //system("cls"); scanf("\n%19s", &cl); senha++; printf("\t>>Cliete:%s \t>>Senha:PREV 0%i\n", cl,senha); } while ((senha>=1)&&(senha<=20)); if(senha==0){ printf("Fila vazia"); if(senha==20){ printf("Fila Cheia"); } } } system("pause"); }
  2. Sdd, estou precisando desenvolver uma fila de atendimento, implementar prioridade, mostar o ultimo item chamado nessa fila e colocar a saída em um arquivo txt, mas não sei como, se alguém puder comentar esse código pra eu ter como base, ficarei grato. #include <stdio.h> #include <stdlib.h> #include <locale.h> struct Node{ int num; struct Node *prox; }; typedef struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); void libera(node *FILA); int main(void) { setlocale(LC_ALL, "Portuguese"); node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memória!\n"); exit(1); }else{ inicia(FILA); int opc; do{ opc=menu(); opcao(FILA,opc); }while(opc); free(FILA); return 0; } } int menu(void) { int opc; printf("=========================Fila=========================\n\n"); printf("ESCOLHA UMA OPÇÃO \n"); printf("\t0. Sair\n"); printf("\t1. Zerar fila\n"); printf("\t2. Exibir fila\n"); printf("\t3. Adicionar Elemento na Fila\n"); printf("\t4. Retirar Elemento da Fila\n"); printf("\tOpção: "); scanf("%i", &opc); return opc; } void opcao(node *FILA, int op) { node *tmp; switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado: %3d\n\n", tmp->num); free(tmp); } break; default: printf("Opção invalida\n\n"); } } void inicia(node *FILA) { FILA->prox = NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *aloca() { node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); exit(1); }else{ printf("Novo elemento: "); scanf("%d", &novo->num); return novo; } } void insere(node *FILA) { node *novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else { node *tmp = FILA->prox; while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) { if(FILA->prox == NULL){ printf("Fila já esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA->prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n"); return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp = tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ proxNode = atual->prox; free(atual); atual = proxNode; } } }
  3. Boa noite! Antes de mais nada me perdoem se estou no lugar errado ou se já existe um tópico sobre isso, mas em uma breve pesquisa não encontrei nada parecido. Sou nova aqui e também estou iniciando estudos com PHP. Eu tenho a lógica de um método que preciso criar, mas não sei por onde começar. É um método de exclusão de registro, ao selecionar a opção excluir de um documento o usuário vai estar ''excluindo'' um valor da tabela cadastrado para esse documento, então na realidade a funcionalidade se chama excluir mas apenas irá atualizar um valor específico para NULL na tabela e manter todo o resto. Suponha que esse valor alterado seja uma coluna de número de Ordem, essa lista de documentos é organizada justamente por esse número. Isso quer dizer que toda vez que eu "excluir" um número de ordem tenho que reorganizar todos os outros números de ordem cadastrados. Não sei muito bem como fazer isso, acredito que nesse método eu pego uma Query que me traz todos os registros de documentos cadastrados que possui um número de ordem já que ele não é obrigatório, pega esse número de ordem que quero excluir e verifica todos os registros que tem número de ordem MAIOR do que ele e faço -1 e vou salvando tudo dentro de um "For" e posteriormente atualizo o meu registro que gostaria de efetuar essa exclusão. Acho que a lógica é esta mas não tenho certeza e nem como começar.
  4. Olá, alguém poderia me ajudar nessas duas questões de fila e pilha? Agradeço desde já (:
  5. Estou aprendendo sobre filas, peguei bem a teoria mas estou meio perdida na parte de código. Preciso de um programa que simule uma fila de banco. São 2 casos de prioridade, normal e preferencial. O usuário iá inserir uma das duas opções e depois o nome da pessoa. Se é normal, o nome irá para o fim da fila. Se preferencial, irá para o início. Depois terá uma função que remove o primeiro da fila. E no fim, uma listagem da fila. Alguém tem algo parecido? Com números nos valores da fila eu consigo, mas não sei fazer com char p inserir os nomes e nem acho exemplo!!!!!!
  6. Boa noite, fiz um algorítimo de estrutura de dados. Coloquei todo meu conhecimento nele. Não estou conseguindo achar o erro. Deixo o enunciado do exercício abaixo! Se puderem me ajudar fico agradecido! "Faça um programa que crie duas filas F1 e F2, de tamanho 10, cada. Leia 20 números inteiros e, se o número lido for par, insira-o na fila F1 e, se for ímpar, na fila F2. Na sequência, caso o número lido seja múltiplo de 3, retirar um elemento da fila F1, armazenando-o em uma variável auxiliar e, depois, escreva-o no vídeo e insira-o na fila F2. Caso o número lido seja múltiplo de 5, retirar um elemento da fila F2, armazenando-o em uma variável auxiliar e, depois, escreva-o no vídeo e insira-o na fila F1. Um número pode ser tanto múltiplo de 3 quanto de 5 e, neste caso, apresente uma mensagem no vídeo e não faça nada nas filas, passando para a leitura do próximo número. Pare de ler quando já tiverem sido lidos os 20 números ou quando ocorrer overflow ou underflow em alguma fila." #include <iostream> using namespace std; int main() { int f=-1, r=-1, f1[10], f2[10], cont=0, val=0, aux=0, tam=9; do{ cout << "Informe um valor: " << endl; cin >> val; cout << " " << endl; if(val%2==0){ if(r==tam){ cout << "OVERFLOW!" << endl << endl; return 0; }else{ f1[++r]=val; } }else{ if(r==tam){ cout << "OVERFLOW!" << endl << endl; return 0; }else{ f2[++r]=val; } } if(val%3==0){ if(r==f){ cout << "UNDERFLOW!" << endl << endl; return 0; }else{ aux=f1[f+1]; f++; if(f==r){ f=r=-1; cout << "Valor retirado: " << aux << endl << endl; f2[++r]=aux; } } } if(val%5==0){ if(r==f){ cout << "UNDERFLOW!" << endl << endl; return 0; }else{ aux=f2[f+1]; f++; if(f==r){ f=r=-1; cout << "Valor retirado: " << aux << endl << endl; f1[++r]=aux; } } } if(val%3==0 && val%5==0){ cout << "Numero mulitplo de 3 e 5!" << endl << endl; } cont++; }while(cont < 20); return 0; }
  7. Alguém poderia me orientar de como fazer esse exercício? Estou pegando Estrutura de Dados na faculdade e a minha professora não domina muito bem o assunto...
  8. Bom dia!!! Estou com dificuldade de implementar fibonacci na estrutura de Fila em C na seguinte questão: Use uma estrutura fila para fazer o calculo do n-esimo termo, passado como argumento de entrada da funcao, da serie de Fibonacci. Se alguém puder me ajudar já agradeço pela ajuda!!!
  9. Dada uma lista de caracteres formada por uma sequência alternada de letras e dígitos, construa um método que retorne uma lista na qual as letras são mantidas na sequência original e os dígitos são colocados na ordem inversa. • Exemplos: A 1 E 5 T 7 W 8 G -> A 8 E 7 T 5 W 1 G 3 C 9 H 4 Q 6 -> 6 C 4 H 9 Q 3 Essa é a questão. Eu tenho a lista com os códigos de Pilha e Fila, mas não sei como aplicá-las.
  10. Olá, Quero criar um Labirinto em Java usando as seguintes classes genéricas: Pilha, Fila e Coordenada(que armazena a coordenada [x, y] atual). O programa lê um arquivo de texto contendo um labirinto, transferindo-o para uma matriz e, a partir da posição inicial, procura e move para espaços vazios até encontrar a posição final. Este é o arquivo de texto: 5 8 ######## E*** # ###*#### ###*#### ###S#### Como as classes genéricas Fila, Pilha, e Coordenada devem estar presentes no programa, devem ser criados 4 objetos: -Um objeto da classe Pilha chamado "path" e um objeto da classe Pilha> chamado "possibilidades", ambos capazes de armazenar 40 coordenadas (5 x 8 - 5 linhas e 8 colunas); -Um objeto da classe Fila chamado "Fila" que armazena 3 coordenadas e filas os espaços vazios ou o char 'S' em torno da posição atual que são encontrados ao pesquisar todas as 4 direções. (Na primeira busca, por exemplo, a fila seria: [(1,1),,] Como 1,1 é o primeiro espaço vazio encontrado na posição inicial, que é então adicionado à fila.) -Um objeto da classe Coordinate chamado "corrente", que representa a posição atual. 5 representa o número de linhas. 8 representa o número de colunas. O char '#' representa uma parede, um terreno inviável. O caractere 'E' é a posição de início, o caractere 'S' é a saída e os espaços vazios (char '') representam espaços transitáveis. Assim, o programa primeiro transfere o labirinto no arquivo de texto para uma matriz com o número especificado de linhas e colunas nele (5 e 8), e então encontra o caractere 'E', que é a posição de início e instancia o "atual" Objeto, armazenando sua coordenada nele ((1,0) no caso). A partir daí, ele procura todas as 4 direções em torno da posição atual no sentido horário (para cima, para a direita, para baixo e para a esquerda, nessa ordem) e armazena as coordenadas dos espaços vazios (ou char 'S') encontrados no objeto "fila" E remove a primeira coordenada da "fila", armazenando essa coordenada no objeto "atual", que representa a posição atual. Então, na matriz, coloca um char '*' na posição representada pelo objeto "atual" (coordenada), indicando que um passo foi dado. Em seguida, empilha o objeto "atual" no objeto "caminho" e empilha o objeto "fila" no objeto "possibilidades". Em seguida, repete essas etapas até encontrar a saída (char 'S'), impressão da matriz e fechamento do programa. No final, como cada posição é marcada com um '*', a matriz teria que se parecer com isso: (O arquivo de texto é inalterado). 5 8 ######## E*** # ###*#### ###*#### ###S#### Até agora, eu criei as classes: public class Fila <T> { private Object[objfila] = null; private int quantidade,posinicial,posfinal; public void inserir(Object x) throws Exception { if(quantidade==objfila.length) throw new Exception("Queue is full"); x=objfila(posfinal); quantidade++; posfinal++; } public void remover() throws Exception { if(quantidade==0){ throw new Exception("there are no elements on the queue"); } quantidade--; posinicial++; } public Fila(int capacidade) { this.posinicial=0; this.posfinal=0; Object objfila=new Object(); } } public class Pilha <T> { private Object[] objpilha = null; private int topo; public void inserir(T x) throws Exception { if(topo==objpilha.length-1){ throw new Exception("the stack is full."); } topo++; objpilha[topo]=x; } public void remover() throws Exception { if(topo==-1){ throw new Exception("there are no elements to be removed."); } topo--; } public Pilha(int capacidade){ objpilha=new Object[capacidade]; topo=-1; } } e coordenada (Eu acho que deve haver uma matriz de x e y que armazena coordenadas) public class Coordenadas <T>{ private int x; private int y; } O que estou tendo problemas é a criação desses objetos e inseri-los em outros objetos, como no armazenamento de coordenadas encontradas na "fila" e empilhamento do objeto "atual" no objeto "caminho". Qual é a maneira correta de fazer este programa? Desculpe pela longa pergunta.
  11. #include <iostream> #include <stdlib.h> using namespace std; struct itemfila{ int valor; struct itemfila *prox; }*prim,*ult,*aux; void enfileirar(int v); void desenfileirar(); int primeirofila(); int procurar(int v); main(){ int op,v,primeiro; do{ cout<<"\n1-Enfileirar \n"; cout<<"2-Desenfileirar \n"; cout<<"3-Primeiro da Fila \n"; cout<<"4-Encontrar Elemento da fila \n"; cout<<"5-Sair \n"; cin>>op; if(op==1) { cout<<"Informe um valor: "; cin>>v; enfileirar(v); }else if(op==2) desenfileirar(); else if(op==3) { primeiro=primeirofila(); if(primeiro!=-1) cout<<"Primeiro: "<<v<<"\n"; else cout<<"Fila Vazia! "; } else if(op==4){ cout<<"Informe o valor que deseja encontrar \n"; cin>>v; if(procurar(v)==1) cout<<"\nValor procurado foi encontrado "; else cout<<"\nValor procurado não encontrado"; } }while(op!=5); }//Fim main void enfileirar(int v){ aux = (struct itemfila*)malloc(sizeof(struct itemfila)); if(prim==NULL) prim=aux; else ult->prox=aux; ult=aux; ult->valor=v; cout<<"ELemento Enfileirado "<<v<<"\n"; } void desenfileirar(){ if(prim!=NULL){ aux=prim; if(prim==ult) prim=ult=NULL; else prim=prim->prox; cout<<"Elemento Desenfileirado "<<aux->valor; free(aux); } else cout<<"Fila Vazia; "; }//Fim Desenfileirar int primeirofila(){ if(prim!=NULL) return prim->valor; else return (-1); } int procurar(int v){ int achei=0,ret=-1,aux; prim=ult=NULL; while(primeirofila()!=-1){ ret = primeirofila(); if(ret == v) achei=1; enfileirar(primeirofila()); desenfileirar(); } } Erro de compilação: Primeiro eu insiro um valor, beleza; Quando eu dou um "4" e informo o valor que foi inserido, ele diz que não foi encontrado, mesmo eu tendo inserido o valor;
  12. Estou com dificuldades de criar uma fila em um banco de dados. O meu objetivo é ter uma fila em que guarde a ordem de cada pessoa da tabela, como por exemplo uma fila de taxistas em que um deles ao pegar uma corrida vai para o final da fila.
  13. guik12008

    Exercício em C

    Boa tarde, Estou com duvida nesse exercício e não sei nem por onde começar. Construir um TAD FilaClientes, conforme a especificação abaixo. 1. Trata-se de uma fila construída sobre lista encadeada 2. Deve ser uma fila de Clientes, e cliente deve ser uma estrutura contendo: - nome (char[]) - idade (int) - CFP (int) 2. Cada node da fila deve ter um ponteiro para um Cliente e um ponteiro para o próximo node 3. Recomenda-se a utilização de uma estrutura HEADER (FilaCliente) para definir a Fila 4. A TAD FilaCliente deve implementar as seguintes operações: - FilaCliente * criaFilaCliente() -> Cria fila vazia - int enqueue2(FilaCliente *fila, Cliente *cliente) -> Enfileira (insere) cliente já instanciado - int enqueue(FilaCliente *fila, char nome[], int idade, int cpf) -> Enfileira (insere) cliente com base em seus dados - Cliente * dequeue(FilaCliente *fila) -> Desenfileira (remove) cliente da fila e o retorna - Cliente * head(FilaCliente *fila) -> Retorna dados (referência) do primeiro cliente da fila, sem removê-lo - Cliente * tail(FilaCliente *fila) -> Retorna dados (referência) do último cliente da fila, sem removê-lo - void imprimeFila(FilaCliente *fila) -> Função para teste, deve imprimir os dados dos clientes na fila, do primeiro para o último Grato desde já.
  14. preciso de ajuda para resolver o problema do titulo do tópico fiz o algoritmo porem não consigo faze-lo executar, acredito que não estou colocando o bloco de codigo no lugar certo: //Bibliotecas #include <stdio.h> #include <stdlib.h> #include <locale.h> //Constantes #define tamanho 5 //Estrutura da Pilha struct tpilha { int dados[tamanho]; int ini; int fim; }; //Vari?veis globais tpilha pilha; int op; //Protipa??o void pilha_entrar(); void pilha_sair(); void pilha_mostrar(); void menu_mostrar(); //Fun??o principal int main(){ setlocale(LC_ALL, "Portuguese"); op = 1; pilha.ini = 0; pilha.fim = 0; while (op != 0) { system("cls"); pilha_mostrar(); menu_mostrar(); scanf("%d", &op); switch (op) { case 1: pilha_entrar(); break; case 2: pilha_sair(); break; } } return(0); } //Adicionar um elemento no final da Pilha void pilha_entrar(){ if (pilha.fim == tamanho) { printf("\nA pilha est? cheia, imposs?vel empilhar um novo elemento!\n\n"); system("pause"); } else { printf("\nDigite o valor a ser empilhado: "); scanf("%d", &pilha.dados[pilha.fim]); pilha.fim++; } } //Retirar o ?ltimo elemento da Pilha void pilha_sair() { if (pilha.ini == pilha.fim) { printf("\nA pilha est? vazia, n?o h? nada para desempilhar!\n\n"); system("pause"); } else { pilha.dados[pilha.fim-1] = 0; pilha.fim--; } } //Mostrar o conte?do da Pilha void pilha_mostrar() { int i; printf("[ "); for (i = 0; i < tamanho; i++) { printf("%d ", pilha.dados); } printf("]\n\n"); } //Mostrar o menu de op??es void menu_mostrar() { printf("\nEscolha uma op??o:\n"); printf("1 - Empilhar\n"); printf("2 - Desempilhar\n"); printf("0 - Sair\n\n"); } eu sei que tenho que inserir o seguinte codigo em algum lugar, mas não consigo entender aonde, peço ajuda pra poder entender o funcionamento da função, e se estiver faltando alguma coisa, me mostrem pra eu entender a logica. function inverter(*fila, *pilha){ while(fila_vazia(fila)!=0){ empilhar(pilha,desenfileirar(fila)); } while(pilha_vazia(pilha)!=0){ enfileirar(fila,desempilhar(pilha)); } } agradeço desde já a ajuda.
  15. Boa noite pessoal, gostaria de saber como resolver esse problema Implementar uma pilha com duas filas. Implementar uma fila com duas pilhas. se alguém souber, da uma ajuda! obrigado
  16. Pessoal, preciso de uma ajudinha de vocês :/ Estou fazendo um programinha em C, no qual o usuário insere as informações do veículo, como: código, modelo e marca. Depois de inserir os dados, ao digitar a opção para se exibir os veículos na fila, o código sai certo, porém as informações armazenadas na fila saem zeradas, o que será que está acontecendo? Aqui está o source code: #include<stdio.h> #include<stdlib.h> #include <locale.h> typedef struct type_car{ int cod; char marca[20]; char modelo[20]; char cor[20]; }car; car carro; typedef struct Node{ int num; struct Node *prox; }node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int vazia(node *FILA); node *aloca(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); void libera(node *FILA); int main(void){ node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memoria disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); free(FILA); return 0; } } int menu(void){ setlocale(LC_ALL, "Portuguese"); int choose; printf("\n\t\t\t\tEscolha a opção\n"); printf("1 - Remover todos os carros\n"); printf("2 - Exibir todos os carros na fila\n"); printf("3 - Adicionar carro a fila\n"); printf("4 - Remover carro da fila\n"); printf("0 - Sair do programa\n"); printf("\nOpção: "); scanf("%d", &choose); system("cls"); return choose; } void opcao(node *FILA, int op){ node *tmp; switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Carro removido: %3d\n\n", tmp->num); libera(tmp); } break; default: printf("Comando invalido!\n\n"); } } void inicia(node *FILA){ FILA->prox = NULL; tam=0; } int vazia(node *FILA){ if(FILA->prox == NULL) return 1; else return 0; } node *aloca(){ node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memória disponivel!\n"); exit(1); }else{ printf("Código do carro: "); scanf("%d", &carro.cod); fflush(stdin); printf("Modelo do carro: "); scanf("%s", &carro.modelo); fflush(stdin); printf("Marca do carro: "); scanf("%s", &carro.marca); fflush(stdin); printf("Cor do carro: "); scanf("%s", &carro.cor); fflush(stdin); return novo; } } void insere(node *FILA){ node *novo=aloca(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox; while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA){ if(FILA->prox == NULL){ printf("Não a carros em espera!\n"); return NULL; }else{ node *tmp = FILA->prox; FILA->prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA){ if(vazia(FILA)){ printf("Sem carros!\n\n"); return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%5d", tmp->num); tmp = tmp->prox; } printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); printf("\n\n"); } void libera(node *FILA){ if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ proxNode = atual->prox; free(atual); atual = proxNode; } } } Alguém poderia me explicar o que fiz de errado e uma possível solução :)
  17. bvianaro

    Ajuda Programa

    Preciso de ajuda para fazer a seguinte implementação no programa: 1. Inserir produto na fila por ordem de chegada não permitindo códigos repetidos 2. Mostrar os produtos presentes na fila 3. Excluir um produto da fila mantendo-a ordenada por ordem de chegada 4. Pesquisar um produto na fila indicando qual a sua posição na fila ou informando que não está presente 5. Gravar a fila em disco com o nome produto.dat 6. Sair O programa é esse: struct matel { int codigo; char descricao[40]; float custo; struct matel *prox; }; typedef struct matel MATEL; MATEL *inicio, *fim; int contador; void mostra_lista(); int main() { int k,quant; MATEL *p,*aux; contador=0; printf("\nQuantas pecas serao registradas? "); scanf("%d",&quant); while (quant < 1) { printf("\nInforme valor maior que zero "); scanf("%d",&quant); } for(k=0;k<quant;k++) { aux=(MATEL *)malloc(sizeof(MATEL)); if(aux==NULL) { printf("\nImpossivel alocar espaco. Tecle algo"); getch(); return 0; } //Preeenche o vetor printf("\nDigite codigo do material[%d] : ",k+1); scanf("%d",&(*aux).codigo); fflush(stdin); printf("\nDigite descricao do material[%d] ",k+1); gets((*aux).descricao); printf("\nDigite custo do material[%d] ",k+1); scanf("%f",&(*aux).custo); if(contador==0) { inicio=fim=aux; contador++; aux->prox=NULL; } else { fim->prox=aux; fim=aux; aux->prox=NULL; contador++; } } mostra_lista(); printf("\n"); system("pause"); return 0; } void mostra_lista() { MATEL *aux; aux=inicio; while(aux) { printf("\nCodigo: %d",(*aux).codigo); printf("\nDescricao: %s",(*aux).descricao); printf("\nCusto: %.2f\n",(*aux).custo); aux=aux->prox; } }
  18. IgorWC

    Fila e Linked List

    Preciso resolver esse exercício mais não estou entendendo como se alguém puder ajudar " Criar uma classe que implemente uma fila usando uma linked list. E o programa que teste esta classe "
  19. Estou fazendo um algoritmo boundary fill usando fila e matriz, mas o programa não está pintando as regiões, só exibe a imagem na cor original (estou usando o code blocks). Não conheço muito a biblioteca graphics.h, então não sei o que pode estar causando erro.. Desde já agradeço! int main () { FILA_SEQ F; int pt1, pt2, cor; int gd = DETECT, gm; inicializa_matriz(); //imprime(); printf (" COLORACAO\n\n"); printf ("De que ponto deseja comecar a coloracao? "); scanf ("%d%d", &pt1, &pt2); //pontos de uma matriz 3x3 printf ("\n\n") printf ("0: Preto\n1: Azul \n2: Verde \n3: Ciano \n4: Vermelho \n5: Magenta \n6: Marrom \n7: Cinza claro \n8: Cinza escuro \n9: Azul claro \n10: Verde claro \n11: Ciano claro \n12: Vermelho claro \n13: Magenta claro \n14: Amarelo \n15: Branco "); printf ("\n\nE com qual cor? "); scanf ("%d", &cor); initgraph(&gd, &gm, "C:\\TC\\BGI"); //matriz de 9 quadrados, com 100 (pixels?) de lado rectangle(150,100,250,200); rectangle(250,100,350,200); rectangle(350,100,450,200); rectangle(150,200,250,300); rectangle(150,200,350,300); rectangle(350,200,450,300); rectangle(150,300,250,400); rectangle(250,300,350,400); rectangle(350,300,450,400); preenchimento(&F ,pt1, pt2, cor); getch(); closegraph(); return 0; } void inicializa_matriz() { int i, j; for (i=1; i<4; i++) { for (j=1; j<4;j++) { img[i][j]=0; } } for (i=0; i<5; i++) { img[0][i]=-1; img[i][0]=-1; img[4][i]=-1; img[i][4]=-1; } } void preenchimento (FILA_SEQ *F, int x, int y, int nova_cor) { int cor_atual; int p1, p2; cor_atual = img[x][y]; cria_fila(F); colorir (F, x, y, nova_cor); while(!eh_vazia(F)) { p1=cons_ret(F); //consulto as coordenadas da fila e as removo p2=cons_ret(F); if (img[p1-1][p2] == cor_atual) colorir (F, p1-1, p2, nova_cor); if (img[p1][p2+1] == cor_atual) colorir (F, p1, p2+1, nova_cor); if (img[p1+1][p2] == cor_atual) colorir (F, p1+1, p2, nova_cor); if (img[p1][p2-1] == cor_atual) colorir (F, p1, p2-1, nova_cor); } void colorir (FILA_SEQ *F, int x, int y, int nova_cor) { int px, py; img[x][y]=nova_cor; ins (F, x); //insiro as coordenadas na fila ins (F, y); px = (x-1)*100 + 150; //através dos pts que o usuário inseriu acho os pts para floodfill py = (y-1)*100 + 200; setfillstyle(SOLID_FILL, nova_cor); floodfill(px, py, WHITE); }
×
×
  • Criar Novo...