EP 4

EP 4

by Renato Avila -
Number of replies: 16
so pra ter certeza, os metodos de ordenação que vao ser usados no ep 4 podem ser qualquer um? nao influenciando na nota?
In reply to Renato Avila

Re: EP 4

by Carlos E. Ferreira -
Bom dia Renato,

Note os vetores devem ser mantidos ordenados todo o tempo. Com isso, acho que você não vai chamar uma função para ordená-los.

Abraços,

--
carlinhos
In reply to Renato Avila

Re: EP 4

by Willen José Gomes Coelho Goulart -
estou com um probleminha...

pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;

atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo->ind_aluno = x.ind_aluno;
novo->ind_disc = x.ind_disc;

nas duas últimas linhas, da o mesmo erro... "dereferencing pointer to incomplete type"
tentei mudar para novo.ind_aluno, mas o erro muda para: " request for member ‘ind_aluno’ in something not a structure or union"

alguem tem alguma idéia?!

abraçoss

In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Paulo Cheadi Haddad Filho -
Acho que o problema deve estar em x, e não no novo.

Eu veria se x tá, de fato, apontando pra alguma coisa e se "x." acessa o campo (será q não é "x->"?)
In reply to Paulo Cheadi Haddad Filho

Re: EP 4

by Willen José Gomes Coelho Goulart -
não eh no x não... x eh passado nos parametros da função...
pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x)
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Renato Avila -
acho que seria x->ind_aluno ou (*x).ind_aluno

deve dar certo agora ..
In reply to Renato Avila

Re: EP 4

by Willen José Gomes Coelho Goulart -
nenhum dos dois... =/
aki ta a função toda até o trecho com problemas...

pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x){

pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;

atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo.ind_aluno = *x.ind_aluno;
novo->ind_disc = x.ind_disc;

as structs estão todas especificadas como o prof carlinhos pediu...
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Felipe Lamberti Amado -
onde está escrito

novo.ind_aluno = *x.ind_aluno;

na verdade é

novo->ind_aluno = x.ind_aluno;

né?

Eu acho que o problema não está nesse pedaço de código..
O erro é de compilação? Aqui eu compilei sem problemas isso ai.

Eu alterei um pouco as structs do pdf, talvez seja isso. Fiz assim:

struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno; // Aqui.
struct aluno_disciplina *prox_disc;
};

typedef struct aluno_disciplina Aluno_Disciplina;
typedef struct aluno_disciplina* pAluno_Disciplina;

struct aluno {
int nusp;
char nome[64];
pAluno_Disciplina inicio;
};

struct disciplina {
char sigla[8];
char nome[64];
pAluno_Disciplina inicio;
};

typedef struct aluno Aluno;
typedef struct disciplina Disciplina;
In reply to Felipe Lamberti Amado

Re: EP 4

by Willen José Gomes Coelho Goulart -

as alterações que vc fez estão corretas sim.. eu estava testando o código e esqueci de colocar no original...

qto às alterações de struct também pensei em fazê-las...
já que parece q não fui o único que pensei nisso...

Carlinhos,
a as alterações das structs do pdf podem ser feitas?!
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Wilson Kazuo Mizutani -
Estranho... eu fiz as estruturas na ordem e na forma do enunciado, e pra mim o seu código também compila sem problemas.
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Carlos E. Ferreira -
Se entendi, você só mudou o nome do campo, certo?

Melhor não mudar, pois simplifica para o monitor manter a mesma estrutura.

abraços,

--
carlinhos
In reply to Carlos E. Ferreira

Re: EP 4

by Felipe Lamberti Amado -
No enunciado está assim:

struct aluno_disciplina {
int ind_aluno;
int ind_disc;
pAluno_Disciplina prox_aluno;
pAluno_Disciplina prox_disc;
};

Deixei assim:

struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno;
struct aluno_disciplina *prox_disc;
};

Porque coloquei typedef do pAluno_Disciplina depois disso..
Achei que fosse dar erro nos typedefs das structs se colocassemos eles antes de especificar as structs, mas acabei de constatar que não. Compila sem problemas de qualquer jeito.
In reply to Felipe Lamberti Amado

Re: EP 4

by Willen José Gomes Coelho Goulart -
agora compila... ¬¬
não entendi
troquei desse jeito que o felipe disse. E deu certo.. terminei o EP e agora depois de pronto, ele já não dá problemas.
Estranho porque foi só alterar as structs e ele funcionou...
E agora retornando para como estava antes[creio q seja como estava antes, rsrsrs]
Não entendi... talvez alguma ordem estava errada... felipe, declarar de qq forma dá certo?!
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Felipe Lamberti Amado -
Acho que vc deve ter esquecido de alguma coisa da primeira vez..

Nao sei se de qq forma dá certo, só sei que da forma como postei e como está no enunciado dão certo =)
In reply to Renato Avila

Re: EP 4

by Paulo Cheadi Haddad Filho -
Mas x->ind_aluno não é igual a (*x).ind_aluno?
In reply to Paulo Cheadi Haddad Filho

Re: EP 4

by Willen José Gomes Coelho Goulart -
eu não entendo onde possa ser o problema, pq tentei de [acredito eu] todas a maneiras possiveis[ e plausiveis] de fazer a atribuição...
In reply to Willen José Gomes Coelho Goulart

Re: EP 4

by Vinicius Coletto -
Oi Willen,

Você tem certeza que o erro está nessa parte do código? Ela parece não ter erros.