Monday, April 6, 2015

C program in data structure in queue for character DMA Queue

C program in data structure in queue. For character DMA Queue

#include<stdio.h>
#include<conio.h>
#include<process.h>
void insert();
void deletes();
void display();
struct node
{
 char info;
 struct node *link;
}*front=NULL,*rear=NULL;
void main()
{
 int n;
 clrscr();
 while(1)
 {
  printf("\n **menu**\n");
  printf("\n 1. insert \n 2. deletes");
  printf("\n 3. display \n 4. exit");
  printf("\n Enter your choice:- ");
  scanf("%d",&n);
  switch(n)
  {
   case 1 : insert();
   break;
   case 2 : deletes();
   break;
   case 3 : display();
   break;
   case 4 : exit(0);
  }
 }
 getch();
}

void insert()
{
 struct node *temp,*q;
 char x;
 temp=(struct node *)malloc(sizeof(struct node));
 if(temp==NULL)
 {
  printf("\n Insufficient memory");
 }
 else
 {
  printf("\n Enter character:-");
  scanf("%c",&x);
  temp->info=x;
  temp->link=NULL;
  if(rear==NULL&&front==NULL)
  {
   rear=temp;
   front=temp;
  }
  else
  {
   q=rear;
   while(q->link!=NULL)
   {
     q=q->link;
   }
   q->link=temp;
  }
 }
}

void deletes()
{
 struct node *q;
 if(front==NULL&&rear==NULL)
 {
  printf("\n Queue is empty");
 }
 else
 {
   front=rear;
   rear=front->link;
   printf("\n deleted node is %c",front->info);
   free(front);
 }
}

void display()
{
 struct node *q;
 if(front==NULL&&rear==NULL)
 {
  printf("\n Queue is empty");
 }
 else
 {
  front=rear;
  while(front!=NULL)
  {
   printf("\n %c",front->info);
   front=front->link;
  }
 }
}

C program in data structure for polynomial subtraction

C program in data structure for polynomial subtraction 





#include<stdio.h>
#include<conio.h>
void main()
{
 int a[10],b[10],c[10];
 int n,k,i,p,coeff;
 clrscr();
 for(i=0;i<10;i++)
 {
  a[i]=0;
  b[i]=0;
  c[i]=0;
 }
 printf("\n first polynomial");
 printf("\n enter number of terms=");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  printf("\n enter power & coefficient=");
  scanf("%d%d",&p,&coeff);
  a[p]=coeff;
 }
 printf("\n second polynomial");
 printf("\n enter number of terms=");
 scanf("%d",&k);
 for(i=0;i<k;i++)
 {
  printf("\n enter power & coefficient=");
  scanf("%d%d",&p,&coeff);
  b[p]=coeff;
 }
 for(i=0;i<10;i++)
 {
  c[i]=a[i]-b[i];
 }
 printf("\n polynomial subtraction is=");
 for(i=9;i>=0;i--)
 {
  if(c[i]!=0)
  {
   if(i!=0)
   {
    printf("%dx^%d+",c[i],i);
   }
   else
   {
    printf("%dx^%d",c[i],i);
   }
  }
 }
 getch();
}

C program for multiplication of two polynomial in data structure

#include<stdio.h>
#include<conio.h>
void main()
{
 int a[10],b[10],c[10];
 int i,j,n,k,power,coeff;
 clrscr();
 for(i=0;i<10;i++)
 {
  a[i]=0;
  b[i]=0;
  c[i]=0;
 }
 printf("\n first polynomel");
 printf("\n enter number of terms=");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  printf("\n enter coefficient=");
  scanf("%d",&coeff);
  printf("\n enter power");
  scanf("%d",&power);
  a[power]=coeff;
 }
 printf("\n second polynomel");
 printf("\n enter number of terms=");
 scanf("%d",&k);
 for(i=0;i<k;i++)
 {
  printf("\n enter coefficient=");
  scanf("%d",&coeff);
  printf("\n enter power");
  scanf("%d",&power);
  b[power]=coeff;
 }
 for(i=9;i>=0;i--)
 {
  if(a[i]!=0)
  {
   for(j=9;j>=0;j--)
   {
    if(b[j]!=0)
    {
     c[i+j]=c[i+j]+a[i]*b[j];
    }
   }
  }
 }
 printf("\n our results is=");
 for(i=9;i>=0;i--)
 {
  if(c[i]!=0)
  {
   if(i!=0)
   {
    printf("%dx^%d+",c[i],i);
   }
   else
   {
    printf("%dx^%d",c[i],i);
   }
  }
 }
 getch();
}

C program in data structure for addition of two polynomial

#include<stdio.h>
#include<conio.h>
void show(int p[]);
void main()
{
 int a[10],b[10],c[10];
 int n,k,i,p,coeff;
 clrscr();
 for(i=0;i<10;i++)
 {
  a[i]=0;
  b[i]=0;
  c[i]=0;
 }
 printf("\n First polynomial");
 printf("\n Enter number of terms=");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  printf("\n Enter power & coefficient=");
  scanf("%d%d",&p,&coeff);
  a[p]=coeff;
 }
 printf("\n Second polynomial");
 printf("\n Enter number of terms=");
 scanf("%d",&k);
 for(i=0;i<k;i++)
 {
  printf("\n Enter power & coefficient=");
  scanf("%d%d",&p,&coeff);
  b[p]=coeff;
 }
 printf("\n First polynomial is:-\n\n");
 show(a);
 printf("\n Second polynomial is:-\n\n");
 show(b);
 for(i=0;i<10;i++)
 {
  c[i]=a[i]+b[i];
 }
 printf("\n Addition of two polynomials is=\n\n");
 show(c);
 getch();
}
void show(int p[])
{
  int i;
  for(i=9;i>0;i--)
  {
   if(p[i]!=0)
   {
    printf("%dx^%d+",p[i],i);
   }
  }
  printf("%d",p[i]);
}

C program in data structure for evaluation of polynomial

#include<stdio.h>
#include<conio.h>
#include<math.h>
int eval(int b[],int n,int x);
void main()
{
 int a[10],i,e,n,x;
 clrscr();
 for(i=0;i>10;i++)
 {
  a[i]=0;
 }
 printf("\n Enter number of term:-\n");
 scanf("%d",&n);
 printf("\n Enter co-efficient:-\n");
 for(i=n;i>=0;i--)
 {
  printf("\n Enter co-efficient for A[%d]:-",i);
  scanf("%d",&a[i]);
 }
 printf("\n Polynomial Expression is:-\n");
 for(i=n;i>0;i--)
 {
  if(a[i]!=0)
  {
   printf("%dx^%d+",a[i],i);
  }
 }
 printf("%d",a[i]);
 printf("\n Enter value for x:-\n");
 scanf("%d",&x);
 e=eval(a,n,x);
 printf("\n Evaluation of Polynomial is:-\t%d",e);
 getch();
}
int eval(int b[],int n,int x)
{
 int i,s=0;
 for(i=n;i>=0;i--)
 {
  s=s+b[i]*pow(x,i);
 }
 return(s);
}

C program in data structure of polynomial for implementation of malloc and realloc function

 IMPLEMENTATION OF MALLOC AND REALLOC FUNCTION

#include<stdio.h>
#include<conio.h>
void main()
{
  int s,i,newsize,*p;
  clrscr();
  printf("\n Enter size of an array:-");
  scanf("%d",&s);
  p=(int *)malloc(s*sizeof(int));
  printf("\n Enter the number:-\n");
  for(i=0;i<s;i++)
  {
    scanf("%d",&p[i]);
  }
  printf("\n Entered numbers are:- \n");
  for(i=0;i<s;i++)
  {
    printf(" %d",p[i]);
  }
  printf("\nEnter newsize of an array:-");
  scanf("%d",&newsize);
  p=(int *)realloc(p,newsize);
  printf("\n Enter the numbers for newsize:-\n");
  for(i=s;i<newsize;i++)
  {
    scanf("%d",&p[i]);
  }
  printf("\n All elements of an array is:-\n");
  for(i=0;i<newsize;i++)
  {
    printf(" %d",p[i]);
  }
  getch();
 }

C program in data structure for storage representation of 2-D array

#include<stdio.h>
#include<conio.h>
void main()
{
 int a[10][10],i,j,r,c;
 clrscr();
 printf("\n Enter row and column number:-");
 scanf("%d%d",&r,&c);
 printf("\n Enter %d*%d matrix:-",r,c);
 for(i=0;i<r;i++)
 {
  for(j=0;j<c;j++)
  {
   scanf("%d",&a[i][j]);
  }
 }
 printf("\n storage representation of 2-D array:-");
 for(i=0;i<r;i++)
 {
  for(j=0;j<c;j++)
  {
   printf("\n[%d][%d]= %d",i,j,a[i][j]);
  }
  printf("\n");
 }
 getch();
}



/* OUTPUT
 Enter row and column number:-3 3                                              
                                                                               
 Enter 3*3 matrix:-1 2 3                                                      
                   4 5 6                                                      
                   7 8 9                                                      
                                                                               
 storage representation of 2-D array:-                                        
[0][0]= 1                                                                      
[0][1]= 2                                                                      
[0][2]= 3                                                                      
                                                                               
[1][0]= 4                                                                      
[1][1]= 5                                                                      
[1][2]= 6                                                                      
                                                                               
[2][0]= 7                                                                      
[2][1]= 8                                                                      
[2][2]= 9                                                                      
     */

C program for preorder inorder postorder in data structure

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<stdlib.h>
struct node
{
 int info;
 struct node *llink;
 struct node *rlink;
}*root=NULL;
void insert();
void preorder(struct node *q);
void inorder(struct node *q);
void postorder(struct node *q);
int stack[10];
int top=-1;
void main()
{
 int n;
 clrscr();
 while(1)
 {
  printf("\n **menu**");
  printf("\n 1.insert \n 2.preorder");
  printf("\n 3.inorder \n 4.postorder");
  printf("\n 5.exit");
  printf("\n enter your choice:-");
  scanf("%d",&n);
  switch(n)
  {
   case 1 : insert();
   break;
   case 2 : preorder(root);
   break;
   case 3 : inorder(root);
   break;
   case 4 : postorder(root);
   break;
   case 5 : exit(0);
  }
 }
 getch();
}
void insert()
{
 struct node *temp,*q;
 int x,i,n;
 printf("\n\n enter how many nodes you want:-");
 scanf(" %d",&n);
 for(i=0;i<n;i++)
 {

  temp=(struct node*)malloc(sizeof(struct node));
  if(temp==NULL)
  {
    printf("\n insufficient memory");
  }
  else
  {
   printf("\n\n enter number:-");
   scanf("%d",&x);
   temp->info=x;
   temp->llink=NULL;
   temp->rlink=NULL;
   if(root==NULL)
   {
    root=temp;
   }
   else
   {
    q=root;
    while(1)
    {
     if(temp->info==q->info)
     {
       printf("\n\n element already exist");
       break;
     }
     if(temp->info>q->info)
     {
      if(q->rlink==NULL)
      {
       q->rlink=temp;
       break;
      }
      q=q->rlink;
     }
     if(temp->info<q->info)
     {
      if(q->llink==NULL)
      {
       q->llink=temp;
       break;
      }
      q=q->llink;
     }
    }
   }
  }
 }
}
void preorder(struct node *q)
{
 top++;
 stack[top]=q;
 while(top!=-1)
 {
  q=stack[top];
  top--;
  if(q!=NULL)
  {
   printf("  %d->",q->info);
   top++;
   stack[top]=q->rlink;
   top++;
   stack[top]=q->llink;
  }
 }
}
void inorder(struct node *q)
{

  while(top!=-1||q!=NULL)
  {
   if(q!=NULL)
   {
    top++;
    stack[top]=q;
    q=q->llink;
   }
   else
   {
    q=stack[top];
    top--;
    printf(" %d->",q->info);
    q=q->rlink;
   }
  }
}


void postorder(struct node *q)
{
 int f[5];
 int top_p;
 stack[++top]=NULL;
 do
 {
  while(q!=NULL)
  {
   stack[++top]=q;
   f[top]=1;
   if(q->rlink!=NULL)
   {
    stack[++top]=q->rlink;
    f[top]=-1;
   }
   q=q->llink;
  }
  top_p=top;
  q=stack[top--];
  while(f[top_p]==1)
  {
   printf(" %d->",q->info);
   top_p=top;
   q=stack[top--];
  }
 }
  while(q!=NULL);

}

C program in data structure for tree

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node
{
 int info;
 struct node *llink,*rlink;
}*root=NULL;
void create();
void node(struct node *q);
void degree(struct node *q);
void leaf(struct node *q);
void interior(struct node *q);
void child(struct node *q);
int no,l,in,ch,p;
void main()
{
 int n;
 clrscr();
 while(1)
 {
  printf("\n **menu**");
  printf("\n 1.create a tree \n 2.count num of nodes");
  printf("\n 3.degree of tree \n 4.leaf nodes \n 5.interior nodes");
  printf("\n 6.childrens and parent \n 7.exit");
  printf("\n enter your choice:-\t");
  scanf("%d",&n);
  switch(n)
  {
   case 1 : create();
   break;
   case 2 : node(root);
   printf("\n\n total nodes are:-  %d",no);
   break;
   case 3 : degree(root);
   break;
   case 4 : leaf(root);
   printf("\n\n leaf nodes is:-  %d",l);
   break;
   case 5 : interior(root);
   printf("\n\n interior nodes are:-  %d",in);
   break;
   case 6 : child(root);
   printf("\n\n childrean is:- %d and parents is:-  %d",ch,p);
   break;
   case 7 : exit(0);
  }
 }
}
void create()
{
 struct node *temp,*q;
 int x,n,i;
 printf("\nEnter how many nodes you want:-");
 scanf("  %d",&n);
 for(i=0;i<n;i++)
 {
  temp=(struct node *)malloc(sizeof(struct node));
  if(temp==NULL)
  {
   printf("\n insufficient memory");
  }
  else
  {
   printf("\n enter number:- ");
   scanf(" %d",&x);
   temp->info=x;
   temp->llink=NULL;
   temp->rlink=NULL;
   if(root==NULL)
   {
    root=temp;
   }
   else
   {
    q=root;
    while(1)
    {
     if(temp->info==q->info)
     {
      printf("\n number is aleardy exist");
      break;
     }
     if(temp->info>q->info)
     {
      if(q->rlink==NULL)
      {
       q->rlink=temp;
       break;
      }
      q=q->rlink;
     }
     if(temp->info<q->info)
     {
      if(q->llink==NULL)
      {
       q->llink=temp;
       break;
      }
      q=q->llink;
     }
    }
   }
  }
 }
}
void node(struct node *q)
{
 if(q!=NULL)
 {
  node(q->llink);
  node(q->rlink);
  no=no+1;
 }
}
void degree(struct node *q)
{
 if(q!=NULL)
 {
  if(q->llink!=NULL&&q->rlink!=NULL)
  {
   printf("\n\n degree of %d node is:= 2",q->info);
  }
  if(q->llink!=NULL&&q->rlink==NULL)
  {
   printf("\n\n degree of %d node is:= 1",q->info);
  }
  if(q->llink==NULL&&q->rlink!=NULL)
  {
   printf("\n\n degree of %d node is:= 1",q->info);
  }
  if(q->llink==NULL&&q->rlink==NULL)
  {
   printf("\n\n degree of %d node is:= 0",q->info);
  }
  degree(q->llink);
  degree(q->rlink);
 }
}
void leaf(struct node *q)
{
 if(q!=NULL)
 {
  leaf(q->llink);
  leaf(q->rlink);
  if(q->llink==NULL||q->rlink==NULL)
  {
   l=l+1;
  }
 }
}
void interior(struct node *q)
{
 if(q!=NULL)
 {
  interior(q->llink);
  interior(q->rlink);
  if(q->llink!=NULL||q->rlink!=NULL)
  {
   in=in+1;
  }
 }
}
void child(struct node *q)
{
 if(q!=NULL)
 {
  child(q->llink);
  child(q->rlink);
  if(q->llink!=NULL||q->rlink!=NULL)
  {
   p=p+1;
  }
  if(q->llink==NULL||q->rlink==NULL)
  {
   ch=ch+1;
  }
 }
}

C program in data structure for mirror of a tree

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<stdlib.h>
struct node
{
 int info;
 struct node *llink;
 struct node *rlink;
}*root=NULL;
void insert();
void preorder(struct node *q);
void mirror(struct node *q);
void main()
{
 int n;
 clrscr();
 while(1)
 {
  printf("\n **menu**");
  printf("\n 1.insert \n 2.preorder");
  printf("\n 3.mirror \n 4.exit");
  printf("\n enter your choice:-");
  scanf("%d",&n);
  switch(n)
  {
   case 1 : insert();
     break;
   case 2 : printf("\n\n our tree in preorder \n\n");
     preorder(root);
     break;
   case 3 :
     mirror(root);
     printf("\n\n mirror image is:-\n\n");
     preorder(root);
     break;
   case 4 : exit(0);
  }
 }
 getch();
}




void insert()
{
 struct node *temp,*q;
 int x,i,n;
 printf("\n\n enter how many node you want:=");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {

  temp=(struct node*)malloc(sizeof(struct node));
  if(temp==NULL)
  {
   printf("\n insufficient memory");
  }
  else
  {
   printf("\n\n enter number:-");
   scanf("%d",&x);
   temp->info=x;
   temp->llink=NULL;
   temp->rlink=NULL;
   if(root==NULL)
   {
    root=temp;
   }
   else
   {
    q=root;
    while(1)
    {
     if(temp->info==q->info)
     {
      printf("\n\n element already exist");
      break;
     }
     if(temp->info>q->info)
     {
      if(q->rlink==NULL)
      {
       q->rlink=temp;
       break;
      }
      q=q->rlink;
     }
     if(temp->info<q->info)
     {
      if(q->llink==NULL)
      {
       q->llink=temp;
       break;
      }
      q=q->llink;
     }//end of if
    }//end of while
   }//end of else2
  }//end of else1
 }//end of for loop
}
void preorder(struct node *q)
{
 if(q!=NULL)
 {
  printf(" %d->",q->info);
  preorder(q->llink);
  preorder(q->rlink);
 }
}
void mirror(struct node *q)
{
 struct node *temp1;
 if(q!=NULL)
 {
  mirror(q->llink);
  mirror(q->rlink);
  temp1=q->llink;
  q->llink=q->rlink;
  q->rlink=temp1;
 }
}

Featured posts

Happy Independence Day August 15th

 Here's a message for India's Independence Day (August 15th): "शुभ स्वतंत्रता दिवस! आजादी की 79वीं वर्षगांठ पर, आइए हम अपने देश...

Popular posts