Skocz do zawartości

Problem Z Forkiem.


artpi

Rekomendowane odpowiedzi

Witam, mam następujące zadanie:

 

Program nalezy uruchomic podajac mu jeden parametr N, okreslajacy ktora liczbe fibonaciego ma odwierciedlac nasze drzewo procesow. Jezeli uruchominy program podajac N >= 2, to proces ma stworzyc 2 potomkow odpowiadajacych liczbom N-1 oraz N-2. Po otrzymaniu wartosci zwroconych od swoich potomkow ma je zsumowac i zwrocic jako wynik swojego dzialania. W przypadku otrzymania wartosci N < 2 procesy nie tworza potomkow, tylko zwracaja wartosc 1.

 

I wydaje mi sie, że napisałem program który buduje odpowiednie drzewo prcesów, ale 1. Nie mogę zrealizować komunikacji między nimi żeby przesyłać rekurencyjnie wyniki, 2. Nie wiem, jak sprawdzić czy on faktycznie poprawnie robi te procesy. Bardzo będę wdzięczny za pomoc.

 

int main() 
{
int status,pid,liczba;

liczba=5;
poczatek:

//otwarcie potoku

pid=fork();
if(pid==0)
{
	//nowy proces
	liczba=liczba-1;
	if(liczba>2)
	{
		//
		goto poczatek;
	}
	else
	{
		//wyslij do macierzystego 1
	}
}
else if (pid>0)
{
//stary proces
	pid=fork();
	if(pid==0)
	{
		//nowy proces starego procesu
		liczba=liczba-2;
		if(liczba>2)
		{
			//
			goto poczatek;
		}
		else
		{
			//wyslij do macierzystego 1
		}
	}
}
}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...