...

Podes utilizar wait(&estado) no processo pai que é uma função de sincronização e assim fica bloqueado até que o processo filho acabe. Dentro do filho podes verificar se o resto da divisão inteira não é zero e sabes assim que o numero é impar (podes fazer dentro de uma função que é chamada, fica mais simples), se for impar é só fazeres o expoente de cada posição do vector correspondente e ires somando. Quando acabar o processo pai desbloqueia-se e verifica os pares, que é se o resto da divisão inteira é zero.

Não precisas daquele;

else if (pid > 0)

O "else" basta por sí só.
 
Back
Topo