Advertisement
warrior98

Untitled

Apr 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/types.h>
  4. #include <sys/wait.h>
  5. #include <unistd.h>
  6.  
  7. int a[10005];
  8.  
  9. int horner(int nivel, int n, int x) {
  10.     //printf("%d\n", nivel);
  11.    
  12.     if(nivel == n) {
  13.         return a[n];
  14.         exit(a[n]);
  15.     }
  16.    
  17.     int pid = fork();
  18.     if(pid == 0) {
  19.         //return a[nivel]+x*horner(nivel+1,n,x);
  20.         printf("FIU: %d %d\n", x, horner(nivel+1,n,x));
  21.         int val = x*horner(nivel+1,n,x);
  22.         printf("%d\n", val);
  23.         exit(val);
  24.     }
  25.     else {
  26.         int returnat;
  27.         wait(&returnat);
  28.         returnat /= 256;
  29.         printf("TATA: %d, %d\n", a[nivel], returnat);
  30.         return a[nivel] + returnat;
  31.         int val = a[nivel] + returnat;
  32.         exit(val);
  33.     }
  34. }
  35.  
  36. int main() {
  37.     int i,n,x,nivel=0;
  38.     printf("Inceputul programului:\n");
  39.  
  40.     printf("gradul polinomului: ");
  41.     scanf("%d", &n);
  42.  
  43.     printf("Coeficientii incepand cu cel mai nesemnificativ: ");
  44.     for(i=0;i<=n;++i)
  45.         scanf("%d", &a[i]);
  46.  
  47.     printf("Valoarea lui X: ");
  48.     scanf("%d", &x);
  49.  
  50.     printf("%d\n", horner(0,n,x));
  51.  
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement