Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''listaencadeada''.

  • 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 1 registro

  1. Olá pessoal, tudo bem? Preciso de uma ajuda para descobrir o erro, se puderem também aceito material de estudo, o que acontece é que eu já rodei esse código de cima a baixo e ele continua dando problema na função: Buscar: mesmo quando não existe o valor ele retorna uma posição; Excluir: ele não exclui o valor quando ele está na primeira posição; Excluir tudo: após usar quando peço para imprimir o programa dá erro #include<stdio.h> #include<stdlib.h> //criação da lista - recebe um inteiro e tem um ponteiro //*ini é o ponteiro inicial (um ponteiro que aponta para outro ponteiro) struct No{ int dado; struct No *prox; } *ini=NULL; void inserir_ini(int num){ struct No *novo; // nova estrutura com características de No novo = malloc(sizeof(No())); //pegar um espaço de memoria novo->dado=num; //informação de novo agora é num novo->prox=ini; //ponteiro de novo aponta para ini (primeiro da lista) último da lista ini=novo; // ponteiro de ini aponta para novo } void inserir_fim(int num){ struct No *aux =ini, *novo; // novo ponteiro e nova estrutura com características de No novo = malloc(sizeof(No())); //pegar um espaço de memoria novo->dado=num; //informação de novo agora é num novo->prox=NULL; //ponteiro de novo aponta para NULL if(aux==NULL){ ini=novo; //se não tinha nada na lista, ini apontava para null, logo aux aponta para null, nesse caso ini vai apontar para o primeiro da lista } else{ while(aux->prox !=NULL){ aux=aux->prox; } aux->prox=novo; //procura o último da lista e conecta o novo nele } } void imprimir(){ struct No*novo; //criou um ponteiro igual ao no if (ini == NULL) { printf("--- fim da lista ---\n\n"); return; } novo = ini; while (novo !=NULL) { printf("Info = %d\n",novo->dado); novo = novo->prox; } printf("--- fim da lista ---\n\n"); } void buscar (int busca, struct No*ini){ int contador=1; struct No *q; q = ini; while (q != NULL && q->dado != busca) { q = q->prox; contador=contador+1; } printf("O valor inserido está na posição %d",contador); } void alterar(int alvo, int alvo2, struct No*ini){ struct No *q; q = ini; while (q != NULL && q->dado != alvo) { q = q->prox; } if (q != NULL) { q->dado=alvo2; } } void excluir(int alvo, struct No*ini){ struct No *p,*q; p=ini; q=ini->prox; if (q->dado==alvo) while (q != NULL && q->dado != alvo) { p = q; q = q->prox; } if (q != NULL) { p->prox = q->prox; free (q); } } void excluirtudo(struct No*ini){ struct No *aux; while (ini!= NULL) { aux = ini; ini=aux->prox; free(aux); } ini->prox=NULL; } int main(){ int op=1, num, num2,busca; while (op!=0){ printf("\n\nMenu \n1-Insere no inicio; \n2-Insere no fim; \n3-Imprime; \n4-Buscar \n5-Alterar \n6-Excluir um \n7-Excluir tudo \n0-Finaliza \n\n Digite a opcao: "); scanf("%d", &op); switch(op){ case 1: printf("\nInsira um numero: "); scanf("%d",&num); inserir_ini(num); break; case 2: printf("\nInsira um numero: "); scanf("%d",&num); inserir_fim(num); break; case 3: imprimir(); break; case 4: printf("Insira o numero que deseja buscar:"); scanf("%d",&busca); buscar(busca,ini); break; case 5: printf("\nInsira o numero que deseja substituir: "); scanf("%d",&num); printf("\nInsira o novo numero: "); scanf("%d",&num2); alterar(num,num2, ini); break; case 6: printf("\nInsira o numero que deseja excluir: "); scanf("%d",&num); excluir(num, ini); break; case 7: excluirtudo(ini); printf("\nLista deletada."); break; } } }
×
×
  • Criar Novo...