WAP to construct a stack of integer and to perform the following operations on it

#include
#include
#include
#define MAX 100
int stk[MAX];
int top=-1;
int size;
void push();
void pop();
void display();
void main()
{
	int ch;
	clrscr();
	printf("Enter the size of stack:\n");
	scanf("%d",&size);
	while(1)
	{              clrscr();
		printf("\n\n******** stack operation **********");
		printf("\n----------------\n");
		printf("\n1.push \n2.pop \n3.display \n4.exit");
		printf("\n\nenter your choice:");
		scanf("%d",&ch);
		switch(ch)
		{
			case 1:push();
				break;
			case 2:pop();
				break;
			case 3:display();
				break;
			case 4:exit(0);
			default:printf("invalid choice");
				break;
		}
	}

	getch();
}
void push()
{
	if(top==size-1)
	{
		printf("\noverflow");
		return;
	}
	else
	{
		printf("\nenter the element to push:");
		scanf("%d",&stk[++top]);
	}
}
void pop()
{
	if(top==-1)
	{
		printf("\nunderflow");
		return;
	}
	else
	{
		printf("\ndeleted item=%d",stk[top--]);
	}
}
void display()
{
	int i;
	if(top==-1)
	{
		printf("\nstack is empty.");
		getch();
		return;
	}
	else
	{
		printf("\n stack elements are:");
		for(i=top;i>=0;i--)
		printf("%d\t",stk[i]);
	}
	getch();
}

WAP to convert and print valid parenthesized infix exp to postfix exp.
program to simulate the working of a Normal queue.
#include
#include
#include
#define MAX 5
struct queue
{
int arr[MAX];
int front,rear;
};
	void initqueue(struct queue *q)
	{
	q->front=-1;
	q->rear=-1;
	}
		void insert_queue(struct queue *q)
		{
		int x;
		printf("Enter the element:");
		scanf("%d",&x);
		if(q->rear==MAX-1)
		{
		printf("QUEUE IS FULL..!");
		getch();
		return;
		}
		q->rear++;
		q->arr[q->rear]=x;
		if(q->front==-1)
		q->front=0;
		}
			void display(struct queue *q)
			{
			int i;
			printf("Queue elements are:");
			for(i=q->front;i<=q->rear;i++)
			printf("%d\t",q->arr[i]);
			getch();
			}
				int delete_queue(struct queue *q)
				{
				int data;
				if(q->front==-1)
				{
				printf("QUEUE IS EMPTY..!");
				getch();
				return(NULL);
				}
				data=q->arr[q->front];
				if(q->front==q->rear)
				q->rear=q->front=-1;
				else
				q->front++;
				return(data);
				}
void main()
{
int ch;
struct queue p;
initqueue(&p);
clrscr();
while(1)
{
clrscr();
printf("\n************* QUEUE OPERATION ****************\n");
printf("1.INSERT\n2.DELETE\n3.DISPLAY\n4.EXIT\n");
scanf("%d",&ch);
switch(ch)
{
case 1:insert_queue(&p);
	break;
case 2:delete_queue(&p);
	break;
case 3:display(&p);
	break;
case 4: exit(0);
default:printf("INVLAID INPUT....");
}
}
getch();
}
program 3

#include<stdio.h>
#include<conio.h>
#include<ctype.h>
int prec(char);
char stack[10];
int top=-1;
void push(char);
char pop();
void main()
{
int i,j=0;
char infix[25],post[25];
clrscr();
printf("enter the infix expression:");
gets(infix);
push('(');
for(i=0;infix[i]!='\0';i++)
{
	if(isalpha(infix[i]))
	{
	post[j]=infix[i];
	j++;
	}
	else
	{
	switch(infix[i])
	{
	case '(':push('(');
		break;
	case ')':while(stack[top]!='(')
		{
		post[j]=pop();
		j++;
		}
		pop();
		break;
	default:while(prec(infix[i])<prec(stack[top]))
	{
	post[j]=pop();
	j++;
	}
	push(infix[i]);
	break;
	}}}
	post[j]='\0';
	printf("\nPOSTFIX EXPRESSION:");
	puts(post);
	getch();
	}
	void push(char ch)
	{
	top++;
	stack[top]=ch;
	}
		char pop()
		{
		char ch;
		ch=stack[top];
		top--;
		return(ch);
		}
		int prec(char ch)
		{
		switch(ch)
		{
		case '(':return 0;
		case '+':
		case '-': return 1;
		case '*':
		case '/': return 2;
		}}

Program number 4.c

#include<stdio.h>
#include<conio.h>
int bsearch(int item,int a[10],int lb,int ub)
{
	int mid;
	if(lb>ub)

	      return(-1);
	      mid=(lb+ub)/2;

	if(item==a[mid])

		return(mid);

	if(item<a[mid])

		bsearch(item,a,lb,mid-1);

	else

	bsearch(item,a,mid+1,ub);

}
void main()
{
	int n,i,a[10],f,item;
	clrscr();
	printf("enter the size of array\n");
	scanf("%d",&n);
	printf("enter the elelments 1 by 1");
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	printf("enter the searching item\n");
	scanf("%d",&item);
	f=bsearch(item,a,0,n-1);
	if(f<0)
	{
	printf("searching unsucessful\n");
	}
	else
	{
	printf("%d element is found at %d location",item,f+1);
	}
	getch();
}
syllabus Program number 8

#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<stdlib.h>
#include<graphics.h>
struct llist
{
int sid,sem;
char sname[25];
struct llist *next;
};
typedef struct llist node;
node *head=NULL;
int count=0;
void insert_front();
void insert_rear();
void insert_pos();
void delete_record();
void update_record();
void display();
void drawscreen(void);
void refreshscreen(void);
void main()
{
int ch;
clrscr();
while(1)
{
clrscr();
//printf("************ CONSTRUCT SINGLY LINK LIST AND PERFORM ACTION  *************\n");
refreshscreen();
drawscreen();
printf("\n 1.Insert at front \n 2.Insert at rear\n 3.Insert at pos\n 4.Delete record\n 5.Update record\n 6.Display \n 7.Exit\n");

gotoxy(2,12);
printf("Enter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1: insert_front();
	break;
case 2: insert_rear();
	break;
case 3: insert_pos();
	break;
case 4: delete_record();
	break;
case 5:update_record();
	break;
case 6:display();
	break;
case 7: exit(0);
}
}
getch();
}
	void insert_front()
	{
	node *new1;
	new1=((node*)malloc(sizeof(node)));

	printf("enter name:");
	scanf("%s",new1->sname);
	printf("enter id:");
	scanf("%d",&new1->sid );
	printf("enter the semester:");
	scanf("%d",&new1->sem);
	new1->next=NULL;
	count++;
	if(head==NULL)
	head=new1;
	else
	{
	new1->next=head;
	head=new1;
	}
	}
		void insert_rear()
		{
		node *new1, *pos;
		new1=(node *)malloc(sizeof(node));
		printf("enter id:");
		scanf("%d",&new1->sid);
		printf("enter name:");
		scanf("%s",new1->sname);
		printf("enter he semester:");
		scanf("%d",&new1->sem);
		new1->next=NULL;
		count++;
		if(head==NULL)
		head=new1;
		else
		{
		pos=head;
		while(pos->next!=NULL)
		pos=pos->next;
		pos->next=new1;
		}}
			void insert_pos()
			{
			node *new1,*prv,*curr;
			int i , pos;
			printf("enter the node postiton:");
			scanf("%d",&pos);
			if(pos>count)
			printf("ilegal position..");
			else
			{
			new1=(node*)malloc(sizeof(node));
			printf("enter id:");
			scanf("%d",&new1->sid);
			printf("eneter the name:");
			scanf("%s",new1->sname);
			printf("enter the semester:");
			scanf("%d",&new1->sem);
			new1->next=NULL;
			curr=head;
			for(i=1;inext;
			}
			if(curr==NULL)
			{
			head=new1;
			count++;
			}
			else if((head==curr)&&(curr->next!=NULL))
			{
			new1->next=curr;
			head=new1;
			count++;
			}
			else
			{
			new1->next=prv->next;
			prv->next=new1;
			count++;
			}}}
				void delete_record()
				{
				node *prv,*curr;
				int sid, flag=0;
				printf("enter the student id to be deleted:");
				scanf("%d",&sid);
				curr=head;
				if(curr==NULL)
				printf("linked list os empty..");
				else
				{
				while((sid!=curr->sid)&&(curr!=NULL))
				{
				prv=curr;
				curr=curr->next;
				}
				if((sid==head->sid)&&(head->next==NULL))
				{
				count--;
				head=NULL;
				free(curr);
				flag=1;
				}
				else
				if((sid==head->sid)&&(head->next!=NULL))
				{
				count--;
				head=head->next;
				free(curr);
				flag=1;
				}
				else
				if(sid==curr->sid)
				{
				count--;
				prv->next=curr->next;
				free(curr);
				flag=1;
				}}
				if(flag==0)
				printf("deleted record not found\n");
				}
	void update_record()
	{
	node *curr=head;
	int sid,flag=0;
	printf("ente the sid to be updated:");
	scanf("%d",&sid);
	printf("To update record:");
	if(curr==NULL)
	{
	gotoxy(1,25);
	cprintf("link list is empty\n");
	}
	else
	{
	while(curr!=NULL)
	{
	if(sid!=curr->sid)
	curr=curr->next;
	else
	{
	printf("enter the id:");
	scanf("%d",&curr->sid);
	printf("enter the name:");
	scanf("%s",curr->sname);
	printf("enter he semester:");
	scanf("%d",&curr->sem);
	flag=1;
	break;
	}}}
	if(flag==0)
	{
	gotoxy(1,25);
	cprintf("record not found:");
	getch();
	}
	else
	{
	gotoxy(1,25);
	cprintf("updated succesfull..!");
	getch();
	}
	}
		void display()
		{
		node *ptr=head;
		if(ptr==NULL)
		printf("linked list empty:");
		else
		{
		gotoxy(2,15);
		printf("ID \tNAME\t SEMESTER\n");
		while(ptr!=NULL)
		{
		gotoxy(2,16);
		printf("%d\t%s\t%5d\n",ptr->sid,ptr->sname,ptr->sem);
		ptr=ptr->next;
		}
		getch();
		}}
void drawscreen(void)
{
     gotoxy(1,1);
     cprintf("-------------------------------------------------------------------------------");
     gotoxy(1,2);
     cprintf("                            *** SINGLY LINK LIST BY AASHIK ***                          ");
     gotoxy(1,3);
     cprintf("-------------------------------------------------------------------------------");
}
/*---------------------------------------------------------------------------
	Refreshscreen function
	----------------------
	used to refresh colour display.
----------------------------------------------------------------------------*/
void refreshscreen(void)
{    clrscr();
     textcolor(WHITE);
     textbackground(BLACK);
     gotoxy(1,25);
     cprintf("                                                                               ");
     clrscr();
     textcolor(WHITE);
     textbackground(BLUE);
     gotoxy(1,25);
     cprintf("                                                                               ");
}
program to simulate working of circular queue.
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<stdlib.h>
#define max 10
int r=-1, f=-1;
int cq[max];
int size;
	void screen()
	{
	printf("\n**** circular queue *******\n");
	printf("\n 1.insert\n2.delete\n3.display\n4.exit\n");
	}
		void cq_insert()
		{
		int item;
		if((f==0)&&(r==size-1)||(r==f-1)&&(f==r+1))
		{
		printf("queue is overflow");
		}
			else
			{
			printf("\nenter the data:");
			scanf("%d",&item);
			if(r==-1)
			{
			r=0;
			f=0;
			}
				else
				{
				if((f!=0)&&(r==size-1))
				r=0;
				else
				r=r+1;
				}
				cq[r]=item;
		
		}}
void cq_delete()
{
int item;
if(f==-1)
printf("queue underflow\n");
else
{
item=cq[f];
if(f==r)
{
f=-1;
r=-1;
}
else
if(f==size-1)
f=0;
else
f=f+1;
printf("%d item deleted",item);
}}
				void display()
				{
				int i;
				if(f==-1)
				{
				printf("queue is empty\n");
				}
					else
					{
					for(i=f;i<=r;i++)
					printf("%d\n",cq[i]);
					if(f>r)
					{
					for(i=f;i
program to simulate working of priority queue.
#include<stdio.h>
#include<conio.h>
#define max 5
void pqinsert(int qno,int q[10],int *front,int *rear,int item)
{
	if(*rear==max-1)
	{
		printf("que %d is full\n",qno);
		return;
	}
	else if(*front==-1)
		*front=*rear=0;
	else
		*rear=*rear+1;
		q[*rear]=item;
}
int pqdelete(int q[10],int *front,int *rear)
{
	if(*front==-1)
		return(0);
	else
	{
		printf("deleted item is %d\n",q[*front]);
		if(*front==*rear)
			*rear=*front=-1;
		else
		*front=*front+1;
		return(1);
	}
}
void pqdisplay(int qno,int q[10],int *front,int *rear)
{
	int i;
	if(*front==-1)
		printf("%d quee is empty \n",qno);
	else
	{
		printf("element in %d quee is:",qno);
		for(i=*front;i<=*rear;i++)
		printf("%d\t",q[i]);
	}
}
void main()
{
	int q1[max],q2[max],q3[max];
	int f1=-1,r1=-1,f2=-1,r2=-1,f3=-1,r3=-1;
	int item,priority,flag,ch;
	while(1)
	{
		printf("**********priority quee operation***************\n");
		printf("1-insert\n2-delete\n3-display\n4-exit\n");
		printf("enter your chice!");
		scanf("%d",&ch);
		switch(ch)
		{
			case 1:printf("enter item & priority no\n");
			      scanf("%d%d",&item,&priority);
			      if(priority==1)
				pqinsert(1,q1,&f1,&r1,item);
			      if(priority==2)
				pqinsert(2,q2,&f2,&r2,item);
			      if(priority==3)
				pqinsert(3,q3,&f3,&r3,item);
			      break;
			case 2:flag=pqdelete(q1,&f1,&r1);
			      if(flag==1)
			      {
				printf("delete from 1st priority\n");
				break;
			      }
			      else
				printf("1st priority is empty\n");
				flag=pqdelete(q2,&f2,&r2);
				if(flag==1)
				{
					printf("delete from 2nd priority\n");
					break;
				}
				else
				printf("2nd priority qno is empty\n");
				flag=pqdelete(q3,&f3,&r3);
				if(flag==1)
				{
					printf("delete from 3rd priority\n");
					break;
				}
				else
				printf("3rd priority qno is empty\n");
				break;
			case 3:printf("que elements are \n");
				pqdisplay(1,q1,&f1,&r1);
				pqdisplay(2,q2,&f2,&r2);
				pqdisplay(3,q3,&f3,&r3);
				break;
			case 4:exit(0);
		}
	}
}
C Games and Graphics sample source code
#include
#include
#include
void liner(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int
x5,int y5,int i);
void shadow(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int
x5,int y5,int x6,int y6,int x7,int y7);
void rightlead( int x1,int y1,int x2,int y2,int x3,int y3,int x4,int
y4,int x5,int y5,int x6,int y6,int x7,int y7,int x8,int y8,int x9,int
y9,int x10,int y10,int x11, int y11);
void leftlead();
void identifier();
void bibin();

void main()
{
int gd=DETECT, gm,i=3;
initgraph(&gd,&gm,"c:\tc\bgi");
setbkcolor(6);
cleardevice();
setcolor(i);
line(263,192,108,151);
line(108,151,345,40);
line(263,192,507,68);
line(507,68,345,40);
setfillstyle(1,9);

floodfill(347,49,i);//for upper part
setcolor(i);
line(263,192,269,231);
line(269,231,89,179);
line(89,179,108,151);
setfillstyle(1,9);
floodfill(193,194,i);//for part left light blue
setcolor(i);
line(269,231,524,93);
line(524,93,506,69);
floodfill(454,113,i);//for part side light blue
setcolor(i);
line(269,231,264,260);
line(264,260,101,215);
line(101,215,89,179);
setfillstyle(1,1);//part left for blue
floodfill(193,234,i);
setcolor(i);
line(264,260,514,125);
line(525,94,514,125);
setfillstyle(1,1);
floodfill(489,126,i);
setcolor(i);//part side blue

//end of upperpart

line(102,315,292,383);
line(294,419,292,383);
line(294,419,101,348);
line(102,315,101,348);
setfillstyle(1,1);//lower left
floodfill(154,360,i);
line(542,222,292,383);
line(542,257,542,222);
line(542,257,294,419);
setfillstyle(1,1);
floodfill(480,282,i);//lower side
line(102,315,222,249);
line(407,183,542,222);
setfillstyle(1,1);
floodfill(206,274,i);
line(147,331,146,350);
line(259,390,146,350);
line(258,371,259,390);
line(147,331,411,184);
line(411,184,503,210);
line(503,210,258,371);
setfillstyle(1,13);
floodfill(273,297,i);
//end of  base of low part
// start of holes
line(130,311,138,313);
line(138,313,147,307);
line(147,307,139,305);
line(139,305,130,311);
setfillstyle(1,8);
floodfill(139,309,i);
//left 1
liner(176,285,183,287,193,282,186,280,185,284,i);
liner(221,260,229,262,239,257,232,255,230,258,i);
liner(299,362,308,365,315,358,309,357,309,361,i);
liner(347,332,354,335,363,330,357,327,357,330,i);
liner(389,305,396,306,405,301,399,299,399,303,i);
liner(428,280,436,282,444,277,438,276,437,279,i);
liner(467,255,475,257,482,252,476,250,475,255,i);
liner(505,233,511,234,521,229,514,227,513,231,i);
delay(1500);
rightlead(283,225,297,226,301,215,314,220,298,280,317,280,305,282,313,282,
305,346,312,343,309,240);
shadow(282,226,294,231,294,281,300,285,301,346,305,346,296,280);
delay(500);
rightlead(333,197,344,200,348,189,360,196,346,253,362,252,350,256,358,255,
351,316,358,314,353,221);
shadow(333,197,342,206,343,254,348,258,348,316,351,316,349,315);//for
second lead
delay(500);
rightlead(373,175,385,178,391,166,402,172,388,228,404,225,393,232,400,231,
394,290,400,287,397,197);
shadow(373,175,383,182,385,229,390,233,391,291,394,290,392,280);
delay(500);
rightlead(417,152,428,155,432,143,442,148,430,205,446,202,435,208,441,207,
436,265,441,263,436,178);
shadow(417,152,426,161,426,205,431,211,431,267,436,265,425,155);
delay(500);
rightlead(456,130,466,133,471,122,479,125,469,181,483,180,473,184,479,184,
474,239,480,238,475,158);
shadow(456,130,464,137,465,183,471,187,472,241,474,239,473,220);
delay(500);
rightlead(493,110,501,114,506,102,517,107,504,160,519,159,508,163,515,162,
509,216,515,216,513,137);

shadow(493,110,499,117,499,162,505,165,505,218,509,216,506,213);
delay(500);
leftlead();
identifier();

getch();
bibin();
}
void liner(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int
x5,int y5,int i)
{

line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x4,y4);
line(x4,y4,x1,y1);
setfillstyle(1,8);
floodfill(x5,y5,i);//x1,y1 left most then go anticlockwise x5,y5 for 
fill
}

void rightlead( int x1,int y1,int x2,int y2,int x3,int y3,int x4,int
y4,int x5,int y5,int x6,int y6,int x7,int y7,int x8,int y8,int x9,int
y9,int x10,int y10,int x11,int y11)
{
setcolor(15);
line(x1,y1,x3,y3);//for starting line
line(x1,y1,x2,y2);
line(x3,y3,x4,y4);
line(x2,y2,x5,y5);
line(x4,y4,x6,y6);
line(x5,y5,x7,y7);
line(x6,y6,x8,y8);
line(x7,y7,x9,y9);
line(x10,y10,x8,y8);
line(x10,y10,x9,y9);
setfillstyle(1,7);
floodfill(x11,y11,15);
}
void shadow(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int
x5,int y5,int x6,int y6,int x7,int y7)
{
setcolor(15);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x4,y4);
line(x5,y5,x4,y4);
line(x5,y5,x6,y6);
setfillstyle(1,8);
floodfill(x7,y7,15);
}

void leftlead()
{
setcolor(15);
line(132,224,133,232);
line(133,232,139,236);
line(139,236,140,297);
line(140,297,146,296);
line(146,296,146,237);
line(146,237,152,232);
line(152,232,152,229);
line(152,229,132,224);
setfillstyle(1,7);
floodfill(142,244,15);
line(129,224,128,234);
line(128,234,135,240);
line(135,240,137,298);
line(137,298,140,297);
line(132,224,129,224);
setfillstyle(1,8);
floodfill(131,236,15);



//end of first lead

line(181,237,181,273);
line(181,273,188,272);
line(188,272,188,241);
line(181,237,188,241);

setfillstyle(1,7);
floodfill(185,255,15);


line(177,237,181,239);
line(177,237,179,275);
line(179,275,181,273);
setfillstyle(1,8);
floodfill(179,256,15);
line(221,249,220,253);
line(220,253,226,252);
line(226,252,225,250);
line(225,250,221,249);
floodfill(223,251,15);
}


void identifier()
{

setcolor(6);
arc(196,177,350,160,26);
line(171,168,222,181);
setfillstyle(1,1);
floodfill(200,170,6);
}


void bibin()
{
int midx=320,midy=230;

      cleardevice();
      setbkcolor(RED);
     settextjustify(CENTER_TEXT,CENTER_TEXT);
     setcolor(GREEN);
     settextstyle(5, VERT_DIR, 4);
     return ;
}
Analog Clock Program
#include
#include
#include
#include
void main()
{
int gd=DETECT,gm;
int x=320,y=240,r=200,i,h,m,s,thetamin,thetasec;
struct  time t;
char n[12][3]={"3","2","1","12","11","10","9","8","7","6","5","4"};
initgraph(&gd,&gm,"f:\arun\tc");\put the directory which contains
egavga.bgi
circle(x,y,210);
setcolor(4);
settextstyle(4,0,5);
for(i=0;i<12;i++)
{
if(i!=3)
outtextxy(x+(r-14)*cos(M_PI/6*i)-10,y-(r-14)*sin(M_PI/6*i)-26,n[i]);
else
outtextxy(x+(r-14)*cos(M_PI/6*i)-20,y-(r-14)*sin(M_PI/6*i)-26,n[i]);
}
gettime(&t);
printf("The current time is: %2d:%02d:%02d.%02d
",t.ti_hour, t.ti_min,
t.ti_sec, t.ti_hund);
while(!kbhit())
{
setcolor(5);
setfillstyle(1,5);
circle(x,y,10);
floodfill(x,y,5);
gettime(&t);
if(t.ti_min!=m)
{
setcolor(0);
line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180
)));
circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))
,10);
line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h
-((m/2)*(M_PI/180))));
circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(
(m/2)*(M_PI/180))),10);
}
if(t.ti_hour>12)
t.ti_hour=t.ti_hour-12;
if(t.ti_hour<4)
h=abs(t.ti_hour-3);
else
h=15-t.ti_hour;
m=t.ti_min;
if(t.ti_min<=15)
thetamin=(15-t.ti_min)*6;
else
thetamin=450-t.ti_min*6;
if(t.ti_sec<=15)
thetasec=(15-t.ti_sec)*6;
else
thetasec=450-t.ti_sec*6;
setcolor(4);
line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h
-((m/2)*(M_PI/180))));
circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(
(m/2)*(M_PI/180))),10);
line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180
)));
circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))
,10);
setcolor(15);
line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180
)));
delay(1000);
setcolor(0);
line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180
)));
}
}
Empty an Array
Add two long positive intergers
#include
#include
#include
#include
struct node
                   {
                     int data;
                     struct node*next;
                   };
void insert(struct node**p,int num)
 {
    struct node*temp;
    if(*p==NULL)
      {
                (*p)=(struct node*)malloc(sizeof(struct node));
                (*p)->next=NULL;
                (*p)->data=num;
      }
    else
     {
                temp=(struct node*)malloc(sizeof(struct node));
                temp->next=(*p);
                (*p)=temp;
                (*p)->data=num;
     }
 }


 void add_in(struct node*a,struct node*b,struct node**c)
 {
   int d,carry;
   carry=0;
    struct node*t;
    while(a!=NULL&&b!=NULL)
     {
      d=(a->data+b->data+carry)%10;
                insert(c,d);
                if( (a->data+b->data+carry) >= 10)
                  {
                   carry=1;
                  }
                else carry=0;
      a=a->next;
      b=b->next;
     }
    if(a==NULL&&b==NULL)
     {
      return;
     }
    else
    {
      if(a!=NULL&&b==NULL)
      {
      t=a;
      }
      else
      {
      t=b;
      }
    while(t!=NULL)
     {
      d=(carry+t->data)%10;
      if((carry+t->data)>=10)
                carry=1;
                else
                carry=0;
      insert(c,d);
      t=t->next;
     }
    if(carry==1)
    insert(c,carry);
    }
 }
 void numin(struct node**p)
  {
    *p=NULL;char c='c';
      while(c!='n')
                {
                 c=getch();
                 if(!isdigit(c))
                  return;
                  else
                    {
                    putch(c);
                    insert(p,c-'0');
                    }
                }
  }
 void disp(struct node*p)
  {
    if(p==NULL)
     return;
     else
                  {
                   printf("%d",p->data);
                   disp(p->next);
                  }

  }
 void main()
 {
  struct node *a,*b,*c;
  clrscr();
  a=b=c=NULL;
  printf("Enter the first number....
");
  numin(&a);
  printf("
Enter the second number....
");
  numin(&b);
  printf("
The added result is...
");
  add_in(a,b,&c);
  disp(c);
  getch();
 }
---------------------------- Reversal of a singly linklist by recursion
Reversal of a singly linklist by recursion

#include
#include
#include
struct node
                  {
                    int data;
                    struct node*next;
                  };
 void insert(struct node**p,int num)   /*Function for inserting an
element into a list */
 {
   if(*p==NULL)
     {
      (*p)=(struct node*)malloc(sizeof(struct node));
      (*p)->next=NULL;
      (*p)->data=num;
     }
   else
    {
     insert(&((*p)->next),num);
    }
 }
 void display(struct node*p) /*Function for displaying the list*/
 {
   while(p!=NULL)
    {
     printf("%d ",p->data);
     p=p->next;
    }
 }
 void reverse(struct node**p) /*Function for reversing the list by
recursion */
 {
   struct node*q,*r,*x;
     int d;
     q=(*p);     /*stores the address of the first element */
     x=q;        /*also stores the element of the first element for
counter pourpose */
     d=q->data;  /*stores the data of the first element*/
     r=q->next;  /*stores the address of the second element in the list
*/
      free(q);   /*deletes the first element of the list*/
      if(x==NULL)
                return ;
                else
                  {
                    reverse(&(r));/*Recursive call*/
                    insert(p,d);  /*This function is put in the stack so the first
                                                     will be taken as last element for the new list */
                  }
 }
 void main()
 {
  clrscr();
  struct node*p=NULL;
  int n,d,i=0;
   printf("How many...?  ");
   scanf("%d",&n);
    while(i++!=n)
     {
      scanf("%d",&d);
      insert(&p,d);
     }
  display(p);
  reverse(&p);
  printf("
The reversed list is...");
  display(p);
  getch();
 }


CSS Menu Samples