SoloCodigo
		Programación General => C/C++ => Mensaje iniciado por: LUCI_FER en Miércoles  5 de Junio de 2002, 19:22
		
			
			- 
				NECESITO HACER ESTA FUNCION KE ME INTERCAMBIE LOS ELEMENTOS KE RECIBE COMO PARAMETROS, ALGUIEN ME ECHA UNA MANO?
 void intercambiar ( tipodatos *arg1, tipodatos *arg2)
 
 ESTA ES LA ESTRUCTURA:
 typedef struct tipodatos
 {
 double tllegada;
 double tdemandado;
 struct tipodatos *sgte;
 struct tipodatos *ant;
 }tipodatos;
- 
				A ver si es esto:
 
 void intercambio(tipodatos *arg1, tipodatos *arg2)
 {
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 temp.sgte = arg1->sgte;
 temp.ant = arg1->ant;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg1->sgte = arg2->sgte;
 arg1->ant = arg2->ant;
 arg2->tllegada = arg1->tllegada;
 arg2->tdemandado = arg1->tdemandado;
 arg2->sgte = arg1->sgte;
 arg2->ant = arg1->ant;
 }
 
 Es un poco burraco el algoritmillo pero supongo que funciona.;). No se si existira alguna funcion que te copie estructuras enteras, pero bueno, al fin y al cabo acabara por ser lo mismo. Espero haberte ayudado.
 
 Saludos.
- 
				oops, lo siento, problemas con el copiar pegar. je je. Este es el codigo:
 
 void intercambio(tipodatos *arg1, tipodatos *arg2)
 {
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 temp.sgte = arg1->sgte;
 temp.ant = arg1->ant;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg1->sgte = arg2->sgte;
 arg1->ant = arg2->ant;
 arg2->tllegada = temp.tllegada;
 arg2->tdemandado = temp.tdemandado;
 arg2->sgte = temp.sgte;
 arg2->ant = temp.ant;
 }
 
 Ahora si. Ta luego.
- 
				oops, lo siento, problemas con el copiar pegar. je je. Este es el codigo:
 
 void intercambio(tipodatos *arg1, tipodatos *arg2)
 {
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 temp.sgte = arg1->sgte;
 temp.ant = arg1->ant;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg1->sgte = arg2->sgte;
 arg1->ant = arg2->ant;
 arg2->tllegada = temp.tllegada;
 arg2->tdemandado = temp.tdemandado;
 arg2->sgte = temp.sgte;
 arg2->ant = temp.ant;
 }
 
 Ahora si. Ta luego.
- 
				asi lo puse yo pero me pierde un nodo, y si los ke le mando son el primero y el ultimo de la lista se peta
			
- 
				/*
 La forma que en trabajas con punteros es dsitinta a como lo hago yo, pero creo que la he entendido y esta es la solucion que he encontrado. Si no funciona, quedate con la idea
 */
 
 void intercambiar(tipodatos *arg1, tipodatos *arg2)
 {
 tipodatos temp;
 temp.tllegada = arg1->tllegada;
 temp.tdemandado = arg1->tdemandado;
 arg1->tllegada = arg2->tllegada;
 arg1->tdemandado = arg2->tdemandado;
 arg2->tllegada = temp.tllegada;
 arg2->tdemandado = temp.tdemandado;
 }