1
How to complete the missing code in lines with 1. 2. 3. 4.?
The goal is to add a new node with a given name and age at the end of the list.
NOTE: I know there are less confusing and more practical ways to solve this, and I know how to solve the problem differently, but I need to know how to solve with the code structured this way.
CODE:
struct lista {
char nome[40];
int idade;
struct lista * prox;
};
int insere(char * nome, int idade, struct lista ** primeiro) {
struct lista * no = malloc(sizeof(struct lista)), *atual = *primeiro, *ant = NULL;
if (no == NULL)
return 0;
strcpy(no->nome, nome);
no->idade = idade;
no->prox = NULL;
while (atual != NULL) {
1.
2.
}
if (ant != NULL)
3.
else
4.
return 1;
}
int main(void) {
int i;
struct lista pessoas[] = { {"Jose", 18}, {"Rita", 20}, {"Paula", 19}, {"Ezequiel", 15}, {"Alexandre", 25}}, * minhalista, * primeiro;
for (i = 0; i < sizeof(pessoas) / sizeof(pessoas[0]); i++) {
if (insere(pessoas[i].nome, pessoas[i].idade, &minhalista) == 0)
printf("Erro ar inserir %s\n", pessoas[i].nome);
}
primeiro = minhalista;
while (primeiro != NULL) {
printf("%s tem %d anos\n", primeiro->nome, primeiro->idade);
primeiro = primeiro->prox;
}
return 0;
}
This code is very confusing...... Want to insert element at the beginning of the list or at the end?
– IanMoone
at the end of the list. this code is taken from an exercise given to me by a teacher, and the statement is as follows: .
– Eurico Sousa