Ir ao conteúdo
  • Cadastre-se
Visitante

Programação em C...?

Recommended Posts

Visitante

Olá, estou fazendo faculdade de Sistemas, porém uma das matérias não tive por questões de transferência, ficando para trás a linguagem C. 
Estou tentando compreender, o professor passou uma lista mas não consigo "desempacar". 

Poderia alguém com tal conhecimento me explicar melhor como faria este ex. 

"Escreva uma função que copie um vetor para uma lista encadeada." 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!
Você poderia mostrar algum código, mostrando o que você tentou fazer?

Assim, nós poderemos ajudar e dar dicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  •    0
    Visitante

    Tentando algo aqui mas está com alguns erros, estou até chateado já, tendo que aprender C na marra. :x

    #include <stdio.h>#include <stdlib.h>int main(){    int vet[10]= {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}, i;    typedef struct cel celula;    struct cel;    {        int      conteudo;        celula   *prox;    };    celula *nova, *p, *ini;    ini = malloc( sizeof (celula));    ini->prox = NULL;    p = ini;    for (i=0; i<10; i++)    {        nova = mallocc(sizeof(celula));        nova->conteudo = vet[i];        nova->prox = p->prox;        p->prox = nova;    }    for (p = ini->prox; p != NULL; p = p->prox)        printf("%d\n", p->conteudo);    return 0;}

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Visitante

    @Erick Sutil

     

    Dê uma olhada: http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html assim responde o motivo da mudança no código

     

    Coloque a struct fora do main. Não é celula *prox e sim struct celula *prox.

    typedef struct celula{    int   conteudo;    struct celula  *prox;}celula;//...

    Troque o p=ini para p=ini->prox dentro do for. E coloque o ini->prox para o ponteiro nova.

       for (i=0; i<10; i++)    {        nova = malloc(sizeof(celula));        nova->conteudo = vet[i];        p = ini->prox;        ini->prox = nova;        nova->prox = p;    }

    Dê uma olhada também: http://www.cprogressivo.net/2013/10/Listas-em-C-O-que-e-como-funciona-uma-LIST.html

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Criar uma conta

    Crie uma nova conta em nossa comunidade. É fácil!

    Crie uma nova conta

    Entrar

    Já tem uma conta? Faça o login.

    Entrar agora





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×