Your Ad Here

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<stdio.h>
#include<process.h>

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: