Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- double obl_skladowa(int i, int n)
- {
- double k = pow(k, 2) - 12;
- double l = pow(p, 3);
- double m = pow(n, 3) * pow(i, 3);
- return l/m;
- }
- int main(int argc, char* argv[])
- {
- int n = atoi(argv[1]);
- int k = atoi(argv[2]);
- int rozm_dane = n / k;
- int i = 1;
- int j = 0;
- double suma, el, el_wynik;
- int pipefd[2];
- pid_t pid;
- if(pipe(pipefd) == -1)
- {
- perror("err pipe\n");
- exit(EXIT_FAILURE);
- }
- for(i = 0; i < k; ++i)
- {
- for (j = 0; j < rozm_dane; ++j)
- {
- pid = fork();
- if(pid == -1)
- {
- perror("err fork\n");
- exit(EXIT_FAILURE);
- }
- if(pid == 0)
- {
- el = obl_skladowa(i, n);
- write(pipefd[1], &el, sizeof(double));
- exit(EXIT_SUCCESS);
- }
- }
- }
- close(pipefd[1]);
- while(read(pipefd[0], &el_wynik, sizeof(double)))
- suma += el_wynik;
- printf("suma: %f\n", suma);
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement