QUIERO QUE ALGUIEN ME AYUDE,CON PROCESOS SOY NOVATO

Hola,tengo que hacer un programa que haga lo siguiente...yo meta en el terminal
$./programa 4 (el 4 es un argumento)
y tengo que hacer un arbol de profundidad 4.que quiere decir esto?
pues esto quiere decir que creará...

4152
4153 4154 4158
|
|
4155
|
4161 4156 4167

Para que lo entendais,primero crea un padre y despues 3 hijos,despues crea un hijo del segundo hijo anterior y otros tres,el 4 es para indicarle los 4 niveles, si en lugar de el argumento poner 4,pong 3,los ultimos tres hijos no los crearía....pero no se como decirle a partir del segundo hijo crear otro hijo...me hago un poco lio....

PARA AYUDAR A ENTENDERLO,ADJUNTO UNA IMAGEN..VER EL ARCHIVO ADJUNTO

Me podeis ayudar?,os lo agradeceria....
Espero respuesta.
Veo que es C, bajo unix, supongo. ¿Llevas algo hecho? Sólo tienes que jugar un poco con condicionales y fork.
llevo algo hecho...pero es que de los tres hijos no se como crear un hijo del hijo del medio...me entiendes? eso ya no se crearlo...

solo he creado un padre y tres hijos.....

Alguien que me ayude...
Por ejemplo, con una variable. La inicializas con el valor 0 y la incrementas cada vez que realizas un fork (antes), después en el hijo compruebas qué valor tiene la variable, si es el 2 pues estás en el hijo del centro.
mmmmmmmmmm. no sé si estaré diciendo una burrada, pero ¿por qué no haces una función recursiva [url](http://es.wikipedia.org/wiki/Algoritmo_recursivo)[/url]? haces que la función se llame a si misma y en cada llamada el parámetro de entrada es el anterior - 1, hasta llegar a 0, de esta forma iría creando cada rama. mírate el ejemplo del factorial del enlace que te puse, es el típico de recursividad y parece que en tu caso es lo que está pidiendo.
un saludo.
De forma recursiva no se plantearlo...una cosa que he dicho ,pero no se si ustedes han entendido, es que cuando por ejemplo yo llamo al programa
$./progr 5 ,quedaría como adjunto en el dibujo del archivo adjunto nuevo,es para que vean que cuando es par si que creo una estructura y cuando es impar creo otra...pero no se como realizar dicho bucle,ruego vean el siguiente gráfico....



Espero respuesta...
Si ustedes quieren pongo código para que lo vean...
Hola:

¿Te ha salido? Yo soy de la ua tb y no se como hacerlo y ¡mañana es la entrega!! si sabes como hacerlo dime algo por lo menos por donde dirigirme que estoy perdido... Sé como hacer tres hijos y que el de enmedio haga otro pero no paso de ahi....
Hola,,,,pues lo de matar los procesos no lo tengo echo....porque no se me matan como yo quiero.....aún me falta.Y tu has avanzado algo?
la verdad q no... voy a ponerme ahora a ver... por lo que he oido para q los hijos mueran antes q los padres hay q darles un menor tiempo en sleep, asi hasta el ultimo nivel, donde los procesos tendran el menor sleep...
Yo sigo tambien en el mismo paso...en la matanza de procesos...pero lo haces con wait? o con exit? ,es que yo tengo por ahi bastantes sleeps...pero los creo perfectamente...pero a la hora de matarlos....cero patatero....
hola creo que hay q poner dos wait en el padre para los hijos de los lados pero no se cierto estoy probando pero no me sale del todo ... ya te digo cosas si me sale....
(mensaje borrado)
12 respuestas