Programacion de pilas y colas

Sedlav
05 de Diciembre del 2005
Hola buenas tardes agradeceria si me pudiesen ayudar con este codigo que ya me tiene mareado, necesito realizar una funcion que muestre y guarde el numero de nodo que contiene un numero par (no el numero sino el numero de casilla), eso. Se me ocurre que puede ser de esta manera

int pares(int pila_p[N], int pila_q[N], int *frente_p, int *frente_q)
{
int frente_z=-1;
int pila_z[N]={0};
int aux_z, aux_q;
do
{
if(pila_p[*frente_p]%2==0){
frente_z++;
pila_z[frente_z]=*frente_p;
aux_z = frente_z;
}else{
(*frente_q)++;
pila_q[*frente_q]=*frente_p;
aux_q = *frente_q;

}
(*frente_p)--;
}while(*frente_p!=-1);

printf("nAqui se muestran los nodos que contienen los numeros ");
printf("nPares Impares");
do{
printf("n %d %d",pila_p[aux_p], pila_q[aux_q]);
aux_p--;aux_q--;
}while((aux_p>-1) && aux_q>-1));
getch();
}

EdU
05 de Diciembre del 2005
Mira creo q capte tu idea......... lo q debes hacer es darle un numero correlativo a cada nodo q creas (por los punteros supongo q hablas de una estructura dinamica) asi q luego de ponerles un numero correlativo q te indique el numero de casilla (o nodo) debes recorrer la estructura e ir diviendo entre dos el numero q contiene la casilla (ojo aqui me refiero al numero NO correlativo que contiene la casilla este es un numero al azar) si el resultado es un entero guardas el numero correlativo para su futura impresion en pantalla de lo contrario pasas al siguiente.........

Disculpa q solo te de la idea pero me parece q estas trabajando en C y no lo manejo mucho........ espero q lo q te dije te sea de alguna ayuda.

Atte.
EdU