Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. // Szymon Miech
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int silnia(int liczba){
  6. int wynik;
  7. if(liczba<0)
  8. return 0;
  9. if(liczba==0 || liczba==1)
  10. return 1;
  11. wynik=liczba*silnia(liczba-1);
  12. return wynik;
  13. }
  14.  
  15. int main(int argc, char *argv[])
  16. {
  17. int i=0,temp=0,suma=0;
  18. int potokW[2];
  19. int potokR[2];
  20. int tablica[5]={5,2,6,1,3};
  21. pipe(potokW);
  22. pipe(potokR);
  23. for(i=0;i<argc;i=i+1)
  24. if(fork()==0){
  25. read(potokW[0],&temp,sizeof(int));
  26. int wynik=silnia(temp);
  27. write(potokR[1],&wynik,sizeof(int));
  28. printf("krok: %i\n",i);
  29. }
  30. else{
  31. write(potokW[1],&tablica[i],sizeof(int));
  32. printf("wpisywanie: %i\n",i);
  33. }
  34. while(wait(0)>0){}
  35. for(i=0;i<5;i=i+1){
  36. int skladnik;
  37. read(potokR[0],&skladnik,sizeof(int));
  38. suma+=skladnik;
  39. }
  40. printf("Suma: %i\n",suma);
  41. return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement