The Fibonacci sequence is the series of numbers 0, 1, 1, 2, 3, 5, 8, .... Formally, it can be expressed as:
f ib0 = 0
f ib1 = 1
f ibn = f ibn−1 + f ibn−2
Write a C program using the fork() system call that that generates the Fibonacci sequence in the child process. The number of the sequence will be provided in the command line. For example, if 5 is provided, the first five numbers in the Fibonacci sequence will be output by the child process. Because the parent and child processes have their own copies of the data, it will be necessary for the child to output the sequence. Have the parent invoke the wait() call to wait for the child process to complete before exiting the program. Perform necessary error checking to ensure that a non-negative number is passed on the command line.

Recommended Answers

All 5 Replies

>>Need an answer

The answer is to use google.

The Fibonacci sequence is the series of numbers 0, 1, 1, 2, 3, 5, 8, .... Formally, it can be expressed as:
f ib0 = 0
f ib1 = 1
f ibn = f ibn−1 + f ibn−2
Write a C program using the fork() system call that that generates the Fibonacci sequence in the child process. The number of the sequence will be provided in the command line. For example, if 5 is provided, the first five numbers in the Fibonacci sequence will be output by the child process. Because the parent and child processes have their own copies of the data, it will be necessary for the child to output the sequence. Have the parent invoke the wait() call to wait for the child process to complete before exiting the program. Perform necessary error checking to ensure that a non-negative number is passed on the command line.

#include <stdio.h>

#include <stdlib.h>



int main(int argc,char *argv[])

{

    int k, pid,i=0,j=0;

    int sum=1;

    int num=atoi(argv[1]);

    if (argc == 0)

    {

        printf ("Please enter a number to fibonacci sequence");

    }

    pid = fork();

    if (pid == 0)

    {
      

        for(k=1;k<num;k++)
        {
                i = j;

                j= sum;

                sum = i + j;

                printf("Fibonacci seqence is: %d\n",sum);

        }
   }  

    else
   {

    wait();
    printf ("parent is waiting for child\n");

   }
   return 0;

Nice, and you managed to use code tags as well.

But do you have a question about that code, or have you finished the assignment now?

Hi Salem i completed the above code and other two codes also. There's more 1 question to attempt.

Will complete my assignment today.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.