Wednesday, April 14, 2010

C Program for Pigeon Breeding Problem

The problem is as follows…




Initially i have a pair of adult pigeons(capable of breeding) which give rise to another young pair every month until it reaches the age of 5 years(60 months).But the young pair starts breeding only when it is 2 months old.Once the adult pigeon pair starts breeding it never stops untils the age of 5 years.Assume the age of initial adult pigeon is 2 months old.This program takes the no. of months as input and will calculate the total no. of pigeons over a given time(as given by the input).This problem is framed, based on my own imagination and i call this problem as PIGEON BREEDING PROBLEM.Heres the code



#include

#include



struct node

{

int age;

struct node *link;

};



typedef struct node* NODE;



NODE getnode()

{

NODE x;

x=(NODE)malloc(sizeof(struct node));

if(x==NULL)

{

printf(“Out of memory\n”);

exit(1);

}

return x;

}



void main()

{

unsigned long int count=1;

unsigned int months,i;

NODE first=getnode();/*this is the intial adult pair*/

first->age=2; /*assume the age of initial adult pair as 2*/

first->link=NULL;

printf(“Enter the no. of months\n”);

scanf(“%u”,&months);

for(i=0;iage>=2)&&(temp->age<=60)) { NODE temp1=getnode(); temp->age+=1;

temp1->age=1;

temp1->link=first;

first=temp1;

temp=temp->link;

++count;

}

else

{

temp->age+=1;

temp=temp->link;

}

}

}

printf(“Total no. of pairs after %u months=%ld\n”,months,count);

}

0 comments:

Post a Comment