Foro: Dudas y Consultas

TPN3 consulta

Re: TPN3 consulta

de Usuario eliminado -
Número de respuestas: 0

Muchas gracias profe, ya hice las correcciones en las estructuras.

Este lo hice mal, revise otra vez el ejercicio y yo interprete otra cosa, 

void agregar_final(tlista &lista, pnodo nuevo){ //debes trabajar con pnodo &lista
pnodo i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
}else{
for(i=lista.inicio;i->sig!=NULL;i=i->sig);
if(nuevo->dato.num==i->dato.num-1 && nuevo->dato.prim==true){//cuál es el objetivo de la condición que está en azul?

si por ejemplo el último nodo fuese 7 y el nuevo valor 13 preguntaría 13==8 (incluso provoca error y permite guardar 2 primos de manera consecutiva)

cout<<"No se puede agregar, no cumple con lo requerido"<<endl;
delete(nuevo);
}else{
i->sig=nuevo;
nuevo->ant=i;
}
}
}

Pero a que se refiere con no podrán almacenarse números primos en nodos consecutivos, osea la parte de los nodos consecutivos?

 

Despues el contar valores impares del punto 5, no me toma el ultimo como podria hacer:

int contar_nodo_impar(pnodo list,pnodo inicio){  
int c;
if(list->sig==inicio)
c=0;
else{
if((list->dato)%2!=0)
c=1+contar_nodo_impar(list->sig,inicio);
else
c=contar_nodo_impar(list->sig,inicio);
}
return c;
}