Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Szymon Miech
- #include <stdio.h>
- #include <stdlib.h>
- int silnia(int liczba){
- int wynik;
- if(liczba<0)
- return 0;
- if(liczba==0 || liczba==1)
- return 1;
- wynik=liczba*silnia(liczba-1);
- return wynik;
- }
- int main(int argc, char *argv[])
- {
- int i=0,temp=0,suma=0;
- int potokW[2];
- int potokR[2];
- int tablica[5]={5,2,6,1,3};
- pipe(potokW);
- pipe(potokR);
- for(i=0;i<argc;i=i+1)
- if(fork()==0){
- read(potokW[0],&temp,sizeof(int));
- int wynik=silnia(temp);
- write(potokR[1],&wynik,sizeof(int));
- printf("krok: %i\n",i);
- }
- else{
- write(potokW[1],&tablica[i],sizeof(int));
- printf("wpisywanie: %i\n",i);
- }
- while(wait(0)>0){}
- for(i=0;i<5;i=i+1){
- int skladnik;
- read(potokR[0],&skladnik,sizeof(int));
- suma+=skladnik;
- }
- printf("Suma: %i\n",suma);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement