Fibonacci series in C

Fungsi ini menerima jumlah suku dalam deret Fibonacci dalam proses anak, membuat larik, dan mengalihkan keluaran ke induk melalui pipa. Orang tua harus menunggu sampai anak mengembangkan deret Fibonacci. Teks yang diterima selalu menampilkan -1, meskipun teks yang dikirimkan menampilkan jumlah angka yang dimasukkan *4, yang dapat diterima.

#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<string.h>

int* fibo(int n)
{
    int* a=(int*)malloc(n*sizeof(int));
    *(a+0)=0;
    *(a+1)=1;
    int i;
    for(i=0;i<n-2;i++)
    {
        *(a+i+2)=*(a+i)+(*(a+i+1));
    }
    return a;
    }

    int main()
    {
        int* fib;
        int fd[2];
        pid_t childpid;
        int n,nb;

        int k=pipe(fd);
        if(k==-1)
        {
        printf("Pipe failed");
        return 0;
    }

    childpid=fork();
    if(childpid == 0)
    {
        printf("Enter no. of fibonacci numbers");
        scanf("%d",&n);
        fib=fibo(n);
        close(fd[0]);
        nb=(fd[1],fib,n*sizeof(int));
        printf("Sent string: %d \n",nb);
        exit(0);
    }
    else
    {
        wait();
        close(fd[1]);
        nb= read(fd[0],fib,n*sizeof(int));
        printf("Received string: %d ",nb);
    }
    return 0;
}
avatar mobiwan
@mobiwan

10 Kontribusi 1 Poin

Dipost 1 tahun yang lalu

Tanggapan

Ini pertanyaan atau mau sharing?

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban