Ir ao conteúdo
  • Cadastre-se

David Fune

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa noite galera!!! tenho o seguinte enunciado. Considere pilha (com lista) de valores inteiros e implemente uma função que receba como parâmetro uma pilha ordenada de forma crescente (do topo até o fim da pilha). Essa função deve inserir um elemento inédito na pilha (não é permitido a inserção de elementos que já estejam na pilha) de forma que esta continue ordenada. pensei nesse código mas ele não rodou se alguém puder me ajudar a entender o erro??? void insere(Pilha* p, int v){ int aux=0; Pilha* temp; while(v>aux)){ if(v==aux) { printf("Elementos iguais\n"); while(temp!NULL){ push(p,pop(temp)); } exit(1); } aux=pop(p); push(temp,aux); } push(p,v); while(temp!NULL){ push(p,pop(temp)); } }
  2. #include <stdio.h> #include <stdlib.h> typedef struct no { int info; struct no* ant; struct no* prox; }No; No* criar(void) { return NULL; } No* inserir_inicio(No* l, int v) { No* novo = (No*) malloc(sizeof(No)); novo->info = v; novo->prox = l; novo->ant = NULL; if (l != NULL) l->ant = novo; return novo; } int vazia(No* l) { return (l == NULL); } No* buscar(No* l, int v) { No* p; for(p = l; p != NULL; p = p->prox) { if (p->info == v) return p; } return NULL; } No* remover(No* l, int v) { No* p; for(p = l; p != NULL; p = p->prox) { if (p->info == v) break; } if (p == NULL) return l; if (l == p) l = p->prox; else p->ant->prox = p->prox; if (p->prox != NULL) p->prox->ant = p->ant; free(p); return l; } void imprimir(No* l) { No* p; for(p = l; p != NULL; p = p->prox) printf("info = %d\n", p->info); } void liberar(No* l) { No* p = l; while (p != NULL) { No* t = p->prox; free(p); p = t; } } void imprime_invertido(No* l) { No *p=l; while(p!=NULL) { p=p->prox; } while(p->ant!=NULL) { printf("[%d]<->",p->info); p=p->ant; } } No* rem_par(No* l) { No* p; for(p=l;p!=NULL;p=p->prox) { if(p->info%2==0) { if(p==l) { l=p->prox; } else p->ant->prox = p->prox; if (p->prox != NULL) p->prox->ant = p->ant; free(p); } } return l; } No* rem_menores(No* l) { No* p; for(p=l;p!=NULL;p=p->prox) { if(p->info<10) { if(p==l) { l=p->prox; } else p->ant->prox = p->prox; if (p->prox != NULL) p->prox->ant = p->ant; free(p); } } return l; } No* constroi(int n, int* v) { int i; No* p=NULL; for(i=0;i<n;i++) { printf("entrou for\n"); No* novo=(No*)malloc(sizeof(No)); novo->info=v; novo->prox=p; novo->ant=NULL; if(p!=NULL) p->ant=novo; return novo; } return p; } int main() { No* lista=criar(); int vet[]={1,2,3,4,5}; lista=constroi(5,vet); imprimir(lista); printf("\n\n Lista invertida"); imprime_invertido(lista); return 0; } adicionado 1 minuto depois o código é esse creio que não seja erro nele, porque rodou uma vez, e depois apareceu esse erro que enviei, acredito que seja um erro de acesso do compilador ao bin, onde fica o executável. adicionado 3 minutos depois
  3. Boa noite galera!!!! estou desenvolvendo um código e no começo ele compila normal, só que depois surgi um erro. ||=== Build: Debug in listaDupla (compiler: GNU GCC Compiler) ===| ld.exe||cannot open output file bin\Debug\listaDupla.exe Invalid argument| ||error: ld returned 1 exit status| ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===| Não consegui resolver, algu´m pode me ajudar???? adicionado 0 minutos depois estou usando o codeblocks programando em c

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!