Olá para todos ! Amo este fórum, sempre me ajudou muito, mas agora estou com uma dúvida em um exercício que estou desenvolvendo e estagnei em uma função que necessariamente tem de ser usado ponteiro e struct. Abaixo segue o código e a questão se encontra no comentário logo no começo !
A minha dificuldade está na hora de separar os valores dentro da função "separa", meu conceito de ponteiros junto com struct está um pouco fraco :/
#include <iostream>
using namespace std;
/*3. Implemente uma função que receba duas pilhas (A e B implementadas através de alocação
dinâmica e separe os elementos das duas pilhas de forma que, na pilha A só fiquem armazenados
os elementos pares e na pilha B os elementos ímpares.*/
struct item
{
int info;
struct item *Prox;
};
void insere(struct item *topoA, int num)
{
struct item *Aux;
Aux = new struct item;
if (Aux != NULL){
Aux->info=num;
Aux->Prox = topoA;
topoA = Aux;
}
}
int separa(struct item *topoA, struct item *topoB, struct item *Aux){
struct item *topoC;
int i=0;
while (Aux->info[i] != NULL]){
if (&Aux.info[i]%2 == 0)
topoA->info[i] = Aux->info[i];
else
topoB->info[i] = Aux->info[i];
i++;
}
}
int main ()
{
struct item *topoA, *topoB, *Aux;
topoA= NULL;
topoB= NULL;
insere(topoA, 1);
insere(topoB, 2);
insere(topoA, 4);
separa(topoA, topoB, Aux);
}