artpi Napisano Styczeń 18, 2007 Zgłoszenie Share Napisano Styczeń 18, 2007 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 More sharing options...
Rekomendowane odpowiedzi
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ę