main(){ 7 char number[5],square[10],newnumber[10]; 8 int fd[2],fd1[2]; 9 printf("Give a number:\n"); 10 scanf("%s",number); 11 pipe(fd); 12 pipe(fd1); 13 if(fork()==0){/*Child Process*/ 14 close(fd[0]); 15 close(fd1[1]); 16 write(fd[1],number,strlen(number)+1); 17 read(fd1[0],newnumber,10); 18 printf("%s NEWNUMBER !!!!!!!!!!!!!!!!!!!!\n",newnumber); 19 double apotelesma= atof(newnumber); 20 printf("RIZA = %ld\n",apotelesma); 21 close(fd1[0]); 22 close(fd[1]); 23 } 24 else{/*Parent Process*/ 25 close(fd[1]); 26 close(fd1[0]); 27 read(fd[0],square,10); 28 double num=strtol(square); 29 double x = sqrt(num); 30 printf("%lf\n",x); 31 char new[10]; 32 sprintf(new,"%9f",x); 33 printf("%s\n",new); 34 write(fd1[1],new,strlen(new)+1); 35 close(fd[0]); 36 close(fd1[1]); 37 } 38 }