Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
kira911

Lista encadeada

Recommended Posts

Alguem poderia por favor postar um algoritmo contendo uma lista simplesmente encadeada pelo amor de deus !

Tipo, estou usando o dev c++. Sou obrigado a usar ele, pois é a IDE que a faculdade usa. E ele nao ta reconhecendo o comando "SIZE" para alocação de memoria. Ja tentei colocando todas as bibliotecas que conheço e nada :/ ... então, queria que algum de vocês colocassem o algoritmo aqui, sem aqueles deseinhos feios para explicar, apenas o algoritmo mesmo e se possivel no algoritmo algumas explicaçãosinhas só pra eu entender melhor ^_^ A! outra coisa de preferença um algoritmo que execute no DEV C++...A quem ajudar desde ja o meu muito obrigado e a quem quis ajudar mas nao pode tambem muito obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites
Até onde eu sei o comando é sizeof() e não size...

Realmente, descobri isso um tempo apos colocar esse topico. Mas e quanto a lista encadeada :confused:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Alguem poderia por favor postar um algoritmo contendo uma lista simplesmente encadeada pelo amor de deus !

Tipo, estou usando o dev c++. Sou obrigado a usar ele, pois é a IDE que a faculdade usa. E ele nao ta reconhecendo o comando "SIZE" para alocação de memoria. Ja tentei colocando todas as bibliotecas que conheço e nada :/ ... então, queria que algum de vocês colocassem o algoritmo aqui, sem aqueles deseinhos feios para explicar, apenas o algoritmo mesmo e se possivel no algoritmo algumas explicaçãosinhas só pra eu entender melhor ^_^ A! outra coisa de preferença um algoritmo que execute no DEV C++...A quem ajudar desde ja o meu muito obrigado e a quem quis ajudar mas nao pode tambem muito obrigado !

1-Você precisa de uma struct

struct exemplo
{
/* Declare os dados que vão ficar na lista
e embaixo um ponteiro para o próx: */
struct exemplo *prox;
};

typedef struct exemplo Exemplo;

2- voce precisa de um ponteiro pro primeiro elemento na main()

(não utilize variável global, peloamordedeus!)

Exemplo *primeiro=NULL;

3- Funções de inserção, criação de nó, liberar memória ocupada pela lista...

Compartilhar este post


Link para o post
Compartilhar em outros sites
1-Você precisa de uma struct

struct exemplo
{
/* Declare os dados que vão ficar na lista
e embaixo um ponteiro para o próx: */
struct exemplo *prox;
};

typedef struct exemplo Exemplo;

2- voce precisa de um ponteiro pro primeiro elemento na main()

(não utilize variável global, peloamordedeus!)

Exemplo *primeiro=NULL;

3- Funções de inserção, criação de nó, liberar memória ocupada pela lista...

Bele, essa parte que voce mostrou é a mais fácil...mas e a parte de inserçãoe exclusão alguem pode me ajudar por favor tenho um trabalho pra entregar amanha e ainda nao aprendiii :( olhem só o enunciado do trabalho, quem puder fazer pra eu analisar o codigo agradeço muito. Juro sem querer me aproveitar mas alguem me ajudeeee :(

Enunciado:

trazer em arquivo .c e .exe

dentro do .c tem que ter o nome dos cinco integrantes do grupo e RA.

Pode por os nomes e os ra no proprio programa em printf.

1 Cria lista

2 insere aluno

3 insere nota(media)

4 consulta ra

5 imprime lista

6 libera lista

7 finaliza

estrutura 1

ra

materia1

materia2

materia3

media global

Compartilhar este post


Link para o post
Compartilhar em outros sites
Se você estuda de noite, sua sala é 1118.

As 4 aulas com o Profº Alexandre Mesquita.

haha Ta sabendo legal em rs....voce deve ser da minha sala ne....quanto a essa parada ai que voce passou nao adiantou muito:( tipo eu sei como por um valor na lista......tipo na funcao de inserção onde ta INFO....como coloco ela no programa principal para o usuario digitar o valor ??? isso que ta ferrando !

Eu coloco scanf("%d", & novo->info); mas da erro ! Sei que pra muitos isso é uma duvida besta....mas ta me fritando o cerebro ja !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você terminou, posta o codigo completo como ultimo e definitivo post para que iniciantes possam ver e aprender com o codigo correto e completo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Já que você terminou, posta o codigo completo como ultimo e definitivo post para que iniciantes possam ver e aprender com o codigo correto e completo

Ta ai o codigo ! .... Po ja aproveitando..estou com problemas com a string :( executem esse codigo e deem uma olhada, ja quebrei muito a cabeça e nada !


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct lista xpto;

struct lista
{
int info;
int idade;
char sexo;
char nuks[50];
struct lista *prox;
};


xpto *inicializa (void)
{
return NULL;
}

xpto *insere (xpto *l,int i,int k,char w,char u[50])
//É uma função que retorna lista
{
xpto *novo = (xpto*) malloc (sizeof(xpto));
novo->info=i;
novo->idade=k;
novo->sexo=w;
novo->nuks[50]=u[50];
novo->prox=l;
return novo;
}

void imprime (xpto*l)
{
xpto *p;
for (p=l;p!=NULL;p=p->prox)
{
printf ("Info = %d\nIdade = %d\nOpcao=%c\nNome=%s\n",p->info,p->idade,p->sexo,p->nuks);
}
}
int vazia (xpto *l)
{
if (l == NULL)
return 1;
else
return 0;
}

xpto *busca (xpto *l, int v)
{
xpto *p;
for (p=l;p!=NULL;p=p->prox)
{
if (p->info == v)
return p;
}
return NULL;
}
xpto *retirada (xpto *l, int v)
{
xpto *ant = NULL;
xpto *p = l;

while (p!= NULL && p->info != v)
{
ant = p;
p = p->prox;
}
if (p == NULL)
return l;
if (ant == NULL)
l = p->prox;
else
{
ant->prox = p->prox;
}
}

void libera (xpto *l)
{
xpto *p = l;

while (p!= NULL)
{

xpto *t = p->prox;
free (p);
p=t;
}
}

int main (void)
{
int num,idade,i,quant;
char op,nome[50];
xpto *l;
l = inicializa ();
printf("Quantos cadastros.");
scanf("%d", & quant);
for(i=0;i<quant;i++)
{
printf("Digite uma idade.");
scanf("%d", & num);
printf("Digite outra idade.");
scanf("%d", & idade);
fflush(stdin);
printf("Digite S ou N.");
scanf("%c", & op);
fflush(stdin);
printf("Digite um nome.");
gets(nome);
l=insere(l,num,idade,op,nome);
}
imprime (l);
libera (l);
system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu diria que essa função de string.h é de suma importância:

strcpy(string_destino,string_origem);

Lembrando que não é para usar nenhum indexador de caractere, só o nome da string, exemplo:

char string_destino[80];
char string_origem[80]="String copiada!";
strcpy(string_destino,string_origem);

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
Entre para seguir isso  





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

×