<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>
<BR><BR>
<BLOCKQUOTE>

<HR>
<BR><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
 <BR>
Muchas gracias Karina por responder, y aunque lo que dices sobre el uso de un puntero seguido de una referencia (*&p) realmente no parece muy logico, si no lo hago así el programa no funciona correctamente. Con la funcion de insertar_al_principio, mostrar y ordenar me ha funcionado bien. Entonces el problema no se alla allí, y no entiendo que querias decir con lo de la asignacion invalida de (aux->seguent = nou_node), ¿no es eso correcto? <BR>
Si alguien tiene una respuesta se lo agradeceré mucho. <BR><BR>
<BR>>void insertar_al_final(struct node *&p){<BR>><BR>>node *nou_node;<BR>>node *aux = p;<BR>><BR>>nou_node = new node;<BR>><BR>>      cout << "Inserta el valor: ";<BR>>      cin >> nou_node->numero;<BR>><BR>>      nou_node->seguent = NULL;<BR>><BR>>      while(aux->seguent != NULL)         aux = aux->seguent;<BR>><BR>>      aux->seguent = nou_node;<BR>><BR>>}<BR>
<DIV>
El error esta en el parametro de la funcion, estas definiendo una estructura en la lista de parametros de la funcion insertar_al_final( ), para pasar estructuras como parametros simplemente necesitas poner el nombre de la estructura como si fuera cualquier tipo base(int,char,long,etc.). Quedaría así:<BR>
void insertar_al_final(node *&p){...}  <BR>
Donde "*&p" lo veo algo redundante, al momento de pasar un puntero si modificas el valor de esa direccion seria lo mismo que si pasaras la referencia, se modificaria la variable exterior a la funcion. Sería suficiente que declararas algo como:<BR>
void insertar_al_final(node *p){...} // pasa un puntero apuntando a una variable de tipo node<BR>
en caso de que la variable que vayas a pasar a la funcion no sea un puntero deberias declararla de la siguiente forma:<BR>
void insertar_al_final(node &p){...} //pasa una referencia de una variable de tipo node<BR>
No creo que definieras esa estructura a proposito en la lista de parametros de la función, porque en las lineas siguientes tienes declaraciones como "nou_node->segment","nou_node->numero",etc, que son variables que en ningun momento has declarado para esa estructura.<BR>
Luego:<BR>
<P dir=ltr style="MARGIN-RIGHT: 0px">>node *nou_node; //declara un puntero a una variable de tipo node<BR>>node *aux = p; /*declara un puntero que apunta a la misma direccion que p,por lo > que modificaciones  permaneceran*/</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">>nou_node = new node; //reserva espacio para una variable de tipo node<BR>><BR>>      cout << "Inserta el valor: ";<BR>>      cin >> nou_node->numero; //numero guarda el valor que se inserte, ya sea en tipo int o char[] no lo se<BR>><BR>>      nou_node->seguent = NULL; //el puntero a char(a menos eso supongo) seguent es una cadena vacia<BR>><BR>>      while(aux->seguent != NULL)         aux = aux->seguent; </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">loop infinito a menos que p->seguent contenga una cadena no nula, ademas la asignacion es invalida</P>
<P dir=ltr style="MARGIN-RIGHT: 0px"><BR>>      aux->seguent = nou_node; //asignacion invalida;<BR>><BR>>}</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">Entonces en conclusion los errores que tienes son la declaracion de parametros de la funcion, tienes un potencial loop infinito, y ademas las asignaciones que quieres realizar no son posibles a menos que sobracargues el operador de asignacion para que supiera como pasar de tipo node a X o viceversa, son invalidas:</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">aux = aux->seguent; </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">no valido, el compilador no sabe pasar del tipo que tengas la variable seguent a tipo node.</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">Tambien te olvidaste de liberar la memoria dinamica que creaste, debias haber añadido algo asi:</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">delete nou_node;</P></FONT></DIV><BR clear=all>
<HR>
¿Cuánto vale tu auto? Tips para mantener tu carro. ¡De todo en MSN Latino Autos! <A href="http://g.msn.com/8HMBESUS/2734??PS=47575" target=_blank>Clic aquí</A> </BLOCKQUOTE><br /><hr />¡Ya está aquí Windows Live Spaces! Ahora podrás crear fácilmente tu propio sitio Web. <a href='http://spaces.live.com/signup.aspx' target='_new'>Pruébalo</a></body>
</html>