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;
}