Tuesday, 19 November 2013
Program For Priority Scheduling Algorithm
Program For Priority Scheduling Algorithm
==================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h,t,tt;
int stime[10],a[10],p[10];
float avg=0;
clrscr();
printf("\n\tPRIORITY SCHEDULING ALGORITHM");
printf("\n\t*****************************************************\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time & priority for corresponding job....\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d:",i);
scanf("%d %d",&b[i],&p[i]); a[i]=i;
}
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
if(p[i]
==================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h,t,tt;
int stime[10],a[10],p[10];
float avg=0;
clrscr();
printf("\n\tPRIORITY SCHEDULING ALGORITHM");
printf("\n\t*****************************************************\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time & priority for corresponding job....\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d:",i);
scanf("%d %d",&b[i],&p[i]); a[i]=i;
}
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
if(p[i]
{
t=b[i]; tt=a[i];
b[i]=b[j]; a[i]=a[j];
b[j]=t; a[j]=tt;
}
w[1]=0;
printf("\nprocess %d waiting time is 0",a[1]);
for(i=2;i<=n;i++)
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",a[i],w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt Chart\n***************************************\n\n\t");
h=22;
for(i=1;i<=n;i++)
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=1;i<=n;i++)
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
======================================================
t=b[i]; tt=a[i];
b[i]=b[j]; a[i]=a[j];
b[j]=t; a[j]=tt;
}
w[1]=0;
printf("\nprocess %d waiting time is 0",a[1]);
for(i=2;i<=n;i++)
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",a[i],w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt Chart\n***************************************\n\n\t");
h=22;
for(i=1;i<=n;i++)
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=1;i<=n;i++)
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
======================================================
AMPLE INPUT AND OUTPUT:
Enter howmany jobs:3
Enter howmany jobs:3
Enter burst time & priority for corresponding job....
Process 1:5 2
Process 2:7 1
Process 3:6 3
PRIORITY SCHEDULING ALGORITHM
*****************************************************
*****************************************************
Enter howmany jobs:3
Enter burst time & priority for corresponding job....
Process 1:5 2
Process 2:7 1
Process 3:6 3
process 3 waiting time is 0
Process 1 waiting time: 6
Process 2 waiting time: 11
total waiting time:17.000000
Process 1 waiting time: 6
Process 2 waiting time: 11
total waiting time:17.000000
the average waiting time is:5.666667
Gaunt Chart
***************************************
***************************************
6▬▬▬▬▬▬5▬▬▬▬▬7▬▬▬▬▬▬▬
06▬▬▬▬▬▬11▬▬▬▬▬▬▬▬▬▬▬
06▬▬▬▬▬▬11▬▬▬▬▬▬▬▬▬▬▬
Program For Round Robin Scheduling Method
Program For Round Robin Scheduling Method
=========================================================
#include
#include
int z[10],b[10],n,m[50],r,q,e=0,avg=0,i,j;
float f;
main()
{
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[RR]");
printf("\n\t*******************************************************\n");
printf("\nEnter how many jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job...\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d: ",i);
scanf("%d",&b[i]); z[i]=b[i];
}
printf("\nENTER THE TIME SLICE VALUE:");
scanf("%d",&q);
rr();
average();
getch();
return 0;
}
rr()
{
int max=0;
max=b[1];
for(j=1;j<=n;j++)
if(max<=b[j])
max=b[j];
if((max%q)==0)
r=(max/q);
else
r=(max/q)+1;
for(i=1;i<=r;i++)
{
printf("\nround %d",i);
for(j=1;j<=n;j++)
{
if(b[j]>0)
{
b[j]=b[j]-q;
if(b[j]<=0)
{
b[j]=0;
printf("\nprocess %d is completed",j);
}
else
printf("\nprocess %d remaining time is %d",j,b[j]);
}
}
delay(1000);
}
return 0;
}
average()
{
for(i=1;i<=n;i++)
{
e=0;
for(j=1;j<=r;j++)
{
if(z[i]!=0)
{
if(z[i]>=q)
{
m[i+e]=q; z[i]-=q;
}
else
{
m[i+e]=z[i]; z[i]=0;
}
}
else
m[i+e]=0;
e=e+n;
}
}
for(i=2;i<=n;i++)
for(j=1;j<=i-1;j++)
avg=avg+m[j];
for(i=n+1;i<=r*n;i++)
{
if(m[i]!=0)
{
for(j=i-(n-1);j<=i-1;j++)
avg=m[j]+avg;
}
}
f=avg/n;
printf("\nTOTAL WATING:%d",avg);
printf("\n\nAVERAGE WAITING TIME:%f\n",f);
for(i=1;i<=r*n;i++)
{ if(m[i]!=0)
if(i%n==0){
printf("P%d",(i%n)+(n)); }
else
printf("P%d",(i%n));
for(j=1;j<=m[i];j++)
printf("%c",22);
}
printf("\n");
getch();
return 0;
}
========================================================
=========================================================
#include
#include
int z[10],b[10],n,m[50],r,q,e=0,avg=0,i,j;
float f;
main()
{
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[RR]");
printf("\n\t*******************************************************\n");
printf("\nEnter how many jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job...\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d: ",i);
scanf("%d",&b[i]); z[i]=b[i];
}
printf("\nENTER THE TIME SLICE VALUE:");
scanf("%d",&q);
rr();
average();
getch();
return 0;
}
rr()
{
int max=0;
max=b[1];
for(j=1;j<=n;j++)
if(max<=b[j])
max=b[j];
if((max%q)==0)
r=(max/q);
else
r=(max/q)+1;
for(i=1;i<=r;i++)
{
printf("\nround %d",i);
for(j=1;j<=n;j++)
{
if(b[j]>0)
{
b[j]=b[j]-q;
if(b[j]<=0)
{
b[j]=0;
printf("\nprocess %d is completed",j);
}
else
printf("\nprocess %d remaining time is %d",j,b[j]);
}
}
delay(1000);
}
return 0;
}
average()
{
for(i=1;i<=n;i++)
{
e=0;
for(j=1;j<=r;j++)
{
if(z[i]!=0)
{
if(z[i]>=q)
{
m[i+e]=q; z[i]-=q;
}
else
{
m[i+e]=z[i]; z[i]=0;
}
}
else
m[i+e]=0;
e=e+n;
}
}
for(i=2;i<=n;i++)
for(j=1;j<=i-1;j++)
avg=avg+m[j];
for(i=n+1;i<=r*n;i++)
{
if(m[i]!=0)
{
for(j=i-(n-1);j<=i-1;j++)
avg=m[j]+avg;
}
}
f=avg/n;
printf("\nTOTAL WATING:%d",avg);
printf("\n\nAVERAGE WAITING TIME:%f\n",f);
for(i=1;i<=r*n;i++)
{ if(m[i]!=0)
if(i%n==0){
printf("P%d",(i%n)+(n)); }
else
printf("P%d",(i%n));
for(j=1;j<=m[i];j++)
printf("%c",22);
}
printf("\n");
getch();
return 0;
}
========================================================
SAMPLE INPUT AND OUTPUT:
Enter how many jobs:4
Enter how many jobs:4
Enter burst time for corresponding job...
Process 1: 7
Process 2: 5
Process 3: 4
Process 4: 2
ENTER THE TIME SLICE VALUE:2
round 1
process 1 remaining time is 5
process 2 remaining time is 3
process 3 remaining time is 2
process 4 is completed
round 2
process 1 remaining time is 3
process 2 remaining time is 1
process 3 is completed
round 3
process 1 remaining time is 1
process 2 is completed
round 4
process 1 is completed
TOTAL WATING:39
process 1 remaining time is 5
process 2 remaining time is 3
process 3 remaining time is 2
process 4 is completed
round 2
process 1 remaining time is 3
process 2 remaining time is 1
process 3 is completed
round 3
process 1 remaining time is 1
process 2 is completed
round 4
process 1 is completed
TOTAL WATING:39
AVERAGE WAITING TIME:9.000000
P1▬▬P2▬▬P3▬▬P4▬▬P1▬▬P2▬▬P3▬▬P1▬▬P2▬P1▬
P1▬▬P2▬▬P3▬▬P4▬▬P1▬▬P2▬▬P3▬▬P1▬▬P2▬P1▬
Program for Shortest Job First Scheduling Algorithm
Program for Shortest Job First Scheduling Algorithm
==============================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h,t,tt;
int stime[10],a[10];
float avg=0;
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[SJF]");
printf("\n\t*****************************************************\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job....\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d:",i);
scanf("%d",&b[i]); a[i]=i;
}
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
if(b[i]>b[j])
{
t=b[i]; tt=a[i];
b[i]=b[j]; a[i]=a[j];
b[j]=t; a[j]=tt;
}
w[1]=0;
printf("\nprocess %d waiting time is 0",a[1]);
for(i=2;i<=n;i++)
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",a[i],w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt Chart\n***************************************\n\n\t");
h=22;
for(i=1;i<=n;i++)
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=1;i<=n;i++)
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
=======================================================================
==============================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h,t,tt;
int stime[10],a[10];
float avg=0;
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[SJF]");
printf("\n\t*****************************************************\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job....\n");
for(i=1;i<=n;i++)
{
printf("\nProcess %d:",i);
scanf("%d",&b[i]); a[i]=i;
}
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
if(b[i]>b[j])
{
t=b[i]; tt=a[i];
b[i]=b[j]; a[i]=a[j];
b[j]=t; a[j]=tt;
}
w[1]=0;
printf("\nprocess %d waiting time is 0",a[1]);
for(i=2;i<=n;i++)
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",a[i],w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt Chart\n***************************************\n\n\t");
h=22;
for(i=1;i<=n;i++)
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=1;i<=n;i++)
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
=======================================================================
Enter howmany jobs:3
Enter burst time for corresponding job....
Process 1:5
Process 2:2
Process 3:3
process 2 waiting time is 0
Process 3 waiting time: 2
Process 1 waiting time: 5
total waiting time:7.000000
Process 3 waiting time: 2
Process 1 waiting time: 5
total waiting time:7.000000
the average waiting time is:2.333333
Gaunt Chart
***************************************
***************************************
2▬▬3▬▬▬5▬▬▬▬▬
02▬▬5▬▬▬▬▬
02▬▬5▬▬▬▬▬
Program for First In First Serve Algorithm
Program for First In First Serve Algorithm
=========================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h;
int stime[10];
float avg=0;
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[FCFS]");
printf("\n\t*************************************************
****\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job....\n");
for(i=0;i
{
printf("\nProcess %d:",i+1);
scanf("%d",&b[i]);
}
w[0]=0;
printf("\nprocess 1 waiting time is 0");
for(i=1;i
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",i+1,w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt
Chart\n***************************************\n\n\t");
h=22;
for(i=0;i
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=0;i
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
========================================================
=========================================================
#include
#include
#include
void main()
{
int n,b[10],w[10],i,j,h;
int stime[10];
float avg=0;
clrscr();
printf("\n\tJOB SCHEDULING ALGORITHM[FCFS]");
printf("\n\t*************************************************
****\n");
printf("\nEnter howmany jobs:");
scanf("%d",&n);
printf("\nEnter burst time for corresponding job....\n");
for(i=0;i
{
printf("\nProcess %d:",i+1);
scanf("%d",&b[i]);
}
w[0]=0;
printf("\nprocess 1 waiting time is 0");
for(i=1;i
{
w[i]=b[i-1]+w[i-1];
printf("\nProcess %d waiting time: %d",i+1,w[i]);
avg+=w[i];
}
printf("\ntotal waiting time:%f",avg);
printf("\n\nthe average waiting time is:%f\n",avg/n);
printf("\nGaunt
Chart\n***************************************\n\n\t");
h=22;
for(i=0;i
{
printf("%d",b[i]);
for(j=1;j<=b[i];j++)
printf("%c",h);
}
printf("\n\t");
for(i=0;i
{
printf("%d",w[i]);
for(j=1;j<=w[i];j++)
printf("%c",h);
delay(1000);
}
getch();
}
========================================================
SAMPLE INPUT AND OUTPUT:
Enter howmany jobs:5
Enter howmany jobs:5
Enter burst time for corresponding job....
Process 1:4
Process 2:2
Process 3:8
Process 4:2
Process 5:9
process 1 waiting time is 0
Process 2 waiting time: 4
Process 3 waiting time: 6
Process 4 waiting time: 14
Process 5 waiting time: 16
total waiting time:40.000000
Process 2 waiting time: 4
Process 3 waiting time: 6
Process 4 waiting time: 14
Process 5 waiting time: 16
total waiting time:40.000000
the average waiting time is:8.000000
Gaunt Chart
***************************************
***************************************
4▬▬▬▬2▬▬8▬▬▬▬▬▬▬▬2▬▬9▬▬▬▬▬▬▬▬▬
04▬▬▬▬6▬▬▬▬▬▬14▬▬▬▬▬▬▬▬▬▬▬▬▬▬16▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
04▬▬▬▬6▬▬▬▬▬▬14▬▬▬▬▬▬▬▬▬▬▬▬▬▬16▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
program for producer consumer problem
program for producer consumer problem
===============================================================
#include
#include
void main()
{
int ch,n,c1=0,c2=0,produce[23],consume[23];
clrscr();
printf("\n\n\n\n\n\t\n\n\t\t\tEnter Stack Size : ",n);
scanf("%d",&n);
while(1)
{
clrscr();
printf("\t\tProducer Stack (Stack Size : %d
)\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",n);
display(c1,produce);
printf("\n\n\t\tConsumer Stack (Stack Size : %d
)\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",n);
display(c2,consume);
printf("\n\t\tCHOICES\n\t\t~~~~~~~\n\t1.Producer\n\t2.Consumer\n\t3.
Exit\nEnter your choice : ");
scanf("%d",&ch);
switch(ch)
{
case 1:
if(c1==n)
printf("Produer stack is FULL.So Producer goes to SLEEP\n");
else
{
c1++;
printf("\t\tEnter PRODUCE item is :");
scanf("%d",&produce[c1]);
}
break;
case 2:
if(c2==n)
printf("Consumer Stack is FULL.So it goes to SLEEP!..........\n\tReset the Cosumer Stack\n",c2=0);
else if(c1==0)
printf("\tProducer stack is EMPTY\n");
else
{
c2++;
consume[c2]=produce[c1];
printf("\t\tCONSUME one item");
c1--;
}
break;
case 3:
exit(0);
default:
printf("\tIt is Wrong choice,Please enter correct choice!............\n");
}
getch();
}
}
display(int c,int stack[])
{
int i;
printf("\n-------------------------------------------------------------------------------\n");
if(c==0)
printf("\tStack is EMPTY\n\t\t(Now It is sleeping)");
else
for(i=1;i<=c;i++)
printf("\t%d",stack[i]);
printf("\n------------------------------------------------------------------------------\n");
}
=====================================================================
===============================================================
#include
#include
void main()
{
int ch,n,c1=0,c2=0,produce[23],consume[23];
clrscr();
printf("\n\n\n\n\n\t\n\n\t\t\tEnter Stack Size : ",n);
scanf("%d",&n);
while(1)
{
clrscr();
printf("\t\tProducer Stack (Stack Size : %d
)\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",n);
display(c1,produce);
printf("\n\n\t\tConsumer Stack (Stack Size : %d
)\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",n);
display(c2,consume);
printf("\n\t\tCHOICES\n\t\t~~~~~~~\n\t1.Producer\n\t2.Consumer\n\t3.
Exit\nEnter your choice : ");
scanf("%d",&ch);
switch(ch)
{
case 1:
if(c1==n)
printf("Produer stack is FULL.So Producer goes to SLEEP\n");
else
{
c1++;
printf("\t\tEnter PRODUCE item is :");
scanf("%d",&produce[c1]);
}
break;
case 2:
if(c2==n)
printf("Consumer Stack is FULL.So it goes to SLEEP!..........\n\tReset the Cosumer Stack\n",c2=0);
else if(c1==0)
printf("\tProducer stack is EMPTY\n");
else
{
c2++;
consume[c2]=produce[c1];
printf("\t\tCONSUME one item");
c1--;
}
break;
case 3:
exit(0);
default:
printf("\tIt is Wrong choice,Please enter correct choice!............\n");
}
getch();
}
}
display(int c,int stack[])
{
int i;
printf("\n-------------------------------------------------------------------------------\n");
if(c==0)
printf("\tStack is EMPTY\n\t\t(Now It is sleeping)");
else
for(i=1;i<=c;i++)
printf("\t%d",stack[i]);
printf("\n------------------------------------------------------------------------------\n");
}
=====================================================================
SAMPLE INPUT AND OUTPUT:
Enter Stack Size : 4
Enter Stack Size : 4
Producer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
Consumer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
CHOICES
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 2
Producer stack is EMPTY
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 2
Producer stack is EMPTY
Producer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10
------------------------------------------------------------------------- -----
Consumer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
CHOICES
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 1
Enter PRODUCE item is :30
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 1
Enter PRODUCE item is :30
Producer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10 30
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10 30
------------------------------------------------------------------------- -----
Consumer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
Stack is EMPTY
(Now It is sleeping)
------------------------------------------------------------------------- -----
CHOICES
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 2
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice : 2
Producer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
10
------------------------------------------------------------------------- -----
Consumer Stack (Stack Size : 4)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
30
------------------------------------------------------------------------- -----
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------------------------------
30
------------------------------------------------------------------------- -----
CHOICES
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice :3
~~~~~~~
1.Producer
2.Consumer
3.Exit
Enter your choice :3
program for Dining philosophy problem
program for Dining philosophy problem
===============================================================
#include
#include
#include
#include
char fn2[20];
main()
{
int c;
clrscr();
do{
printf("\n\t\tMain Menu\n-------------------------------\n");
printf("1.Copy a File\n2.Move a File\n3.Exit\n");
scanf("%d",&c);
switch(c)
{
case 1:
copy_file();
break;
case 2:
move_file();
break;
case 3:
exit(0);
}
}while(c<=3);
getch();
return 0;
}
copy_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File Copied");
fclose(f2);
}
fclose(f1);
return 0;
}
move_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File moved");
fclose(f2);
remove(fn1);
}
fclose(f1);
return 0;
}
print_file()
{
struct ffblk ffblk;
int d,p=0;
char ch;
d=findfirst("*.*",&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
p=p+1;
if(p>=20)
{
printf("Press any key to continue");
getchar();
p=0;
}
}
return 0;
}
===========================================================
===============================================================
#include
#include
#include
#include
char fn2[20];
main()
{
int c;
clrscr();
do{
printf("\n\t\tMain Menu\n-------------------------------\n");
printf("1.Copy a File\n2.Move a File\n3.Exit\n");
scanf("%d",&c);
switch(c)
{
case 1:
copy_file();
break;
case 2:
move_file();
break;
case 3:
exit(0);
}
}while(c<=3);
getch();
return 0;
}
copy_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File Copied");
fclose(f2);
}
fclose(f1);
return 0;
}
move_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File moved");
fclose(f2);
remove(fn1);
}
fclose(f1);
return 0;
}
print_file()
{
struct ffblk ffblk;
int d,p=0;
char ch;
d=findfirst("*.*",&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
p=p+1;
if(p>=20)
{
printf("Press any key to continue");
getchar();
p=0;
}
}
return 0;
}
===========================================================
SAMPLE INPUT AND OUTPUT:
Philos name Right fork Left fork
-------------------------------------------------------------------
0 0 1
1 1 2
2 2 3
3 3 4
4 4 0
--------------------------------------------------------------------
Enter the Two Eating Philosophers number:1 3
Round 1
--------------------------
Philosopherre 1 is eating with rhf=1 and lhf=2.
Philosopherre 3 is eating with rhf=3 and lhf=4.
Round 2
------------------------
Philosopherre 0 is eating with rhf=0 and lhf=1.
Philosopherre 2 is eating with rhf=2 and lhf=3.
Round 4
------------------------
Philosopherre 2 is eating with rhf=2 and lhf=3.
Philosopherre 4 is eating with rhf=4 and lhf=0.
Philos name Right fork Left fork
-------------------------------------------------------------------
0 0 1
1 1 2
2 2 3
3 3 4
4 4 0
--------------------------------------------------------------------
Enter the Two Eating Philosophers number:1 3
Round 1
--------------------------
Philosopherre 1 is eating with rhf=1 and lhf=2.
Philosopherre 3 is eating with rhf=3 and lhf=4.
Round 2
------------------------
Philosopherre 0 is eating with rhf=0 and lhf=1.
Philosopherre 2 is eating with rhf=2 and lhf=3.
Round 4
------------------------
Philosopherre 2 is eating with rhf=2 and lhf=3.
Philosopherre 4 is eating with rhf=4 and lhf=0.
Philos name Right fork Left fork
-------------------------------------------------------------------
0 0 1
1 1 2
2 2 3
3 3 4
4 4 0
--------------------------------------------------------------------
Enter the Two Eating Philosophers number:1 4
Round 1
--------------------------
Philosopherre 1 is eating with rhf=1 and lhf=2.
Philosopherre 4 is eating with rhf=4 and lhf=0.
Round 2
------------------------
Philosopherre 0 is eating with rhf=0 and lhf=1.
Philosopherre 2 is eating with rhf=2 and lhf=3.
Round 4
------------------------
Philosopherre 2 is eating with rhf=2 and lhf=3.
Philosopherre 4 is eating with rhf=4 and lhf=0.
-------------------------------------------------------------------
0 0 1
1 1 2
2 2 3
3 3 4
4 4 0
--------------------------------------------------------------------
Enter the Two Eating Philosophers number:1 4
Round 1
--------------------------
Philosopherre 1 is eating with rhf=1 and lhf=2.
Philosopherre 4 is eating with rhf=4 and lhf=0.
Round 2
------------------------
Philosopherre 0 is eating with rhf=0 and lhf=1.
Philosopherre 2 is eating with rhf=2 and lhf=3.
Round 4
------------------------
Philosopherre 2 is eating with rhf=2 and lhf=3.
Philosopherre 4 is eating with rhf=4 and lhf=0.
program for file copy and move
program for file copy and move
=====================================================
#include
#include
#include
#include
char fn2[20];
main()
{
int c;
clrscr();
do{
printf("\n\t\tMain Menu\n-------------------------------\n");
printf("1.Copy a File\n2.Move a File\n3.Exit\n");
scanf("%d",&c);
switch(c)
{
case 1:
copy_file();
break;
case 2:
move_file();
break;
case 3:
exit(0);
}
}while(c<=3);
getch();
return 0;
}
copy_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File Copied");
fclose(f2);
}
fclose(f1);
return 0;
}
move_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File moved");
fclose(f2);
remove(fn1);
}
fclose(f1);
return 0;
}
print_file()
{
struct ffblk ffblk;
int d,p=0;
char ch;
d=findfirst("*.*",&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
p=p+1;
if(p>=20)
{
printf("Press any key to continue");
getchar();
p=0;
}
}
return 0;
}
=============================================
=====================================================
#include
#include
#include
#include
char fn2[20];
main()
{
int c;
clrscr();
do{
printf("\n\t\tMain Menu\n-------------------------------\n");
printf("1.Copy a File\n2.Move a File\n3.Exit\n");
scanf("%d",&c);
switch(c)
{
case 1:
copy_file();
break;
case 2:
move_file();
break;
case 3:
exit(0);
}
}while(c<=3);
getch();
return 0;
}
copy_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File Copied");
fclose(f2);
}
fclose(f1);
return 0;
}
move_file()
{
FILE *f1,*f2;
char ch,s[10],fn1[20];
int a;
printf("\nAre u see the privious files(1/0)?");
scanf("%d",&a);
if(a==1)
print_file();
printf("Enter the source file name:");
scanf("%s",&fn1);
printf("Enter the Destination file name:");
scanf("%s",&fn2);
f1=fopen(fn1,"r");
if(f1==NULL)
printf("Can't open the file");
else {
f2=fopen(fn2,"w");
while((ch=getc(f1))!=EOF)
putc(ch,f2);
printf("One File moved");
fclose(f2);
remove(fn1);
}
fclose(f1);
return 0;
}
print_file()
{
struct ffblk ffblk;
int d,p=0;
char ch;
d=findfirst("*.*",&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
p=p+1;
if(p>=20)
{
printf("Press any key to continue");
getchar();
p=0;
}
}
return 0;
}
=============================================
c program for file operations
c program for file operations
====================================================
#include
#include
#include
#include
#include
#include
void main()
{
char name[10],c,ch;
unsigned attrib;
int d,n,f,p;
clrscr();
printf("\t\tMAIN MENU OF PERMISSION\n\t--------------------------------\n");
printf("1.Only Read\n2.Only Write\n3.Exit\nEnter your choice:\n");
scanf("%d",&n);
switch(n)
{
case 1:
printf("\nEnter the File Name:\n");
scanf("%s",name);
attrib |= _A_RDONLY;
printf("%s file read permission Accepted",name);
break;
case 2:
printf("\nEnter the File Name:\n");
scanf("%s",name);
attrib = _A_ARCH;
printf("%s excute permission accepted",name);
break;
case 3:
exit(0); }
if(_dos_setfileattr(name,attrib)!=0)
{
perror("\nUnable to set");
getch();
return 0;
}
getch();
}
==============================================================
====================================================
#include
#include
#include
#include
#include
#include
void main()
{
char name[10],c,ch;
unsigned attrib;
int d,n,f,p;
clrscr();
printf("\t\tMAIN MENU OF PERMISSION\n\t--------------------------------\n");
printf("1.Only Read\n2.Only Write\n3.Exit\nEnter your choice:\n");
scanf("%d",&n);
switch(n)
{
case 1:
printf("\nEnter the File Name:\n");
scanf("%s",name);
attrib |= _A_RDONLY;
printf("%s file read permission Accepted",name);
break;
case 2:
printf("\nEnter the File Name:\n");
scanf("%s",name);
attrib = _A_ARCH;
printf("%s excute permission accepted",name);
break;
case 3:
exit(0); }
if(_dos_setfileattr(name,attrib)!=0)
{
perror("\nUnable to set");
getch();
return 0;
}
getch();
}
==============================================================
c program for file permission
c program for file permission
======================================
#include
#include
#include
#include
void main()
{
int ch;
clrscr();
do
{
printf("\n\t\t\tMAIN MENU\n\t\t-------------------------\n");
printf("1.To Display List of Files\n");
printf("2.To Create New Directory\n");
printf("3.To Change the Working Directory\n");
printf("4.Exit\n");
printf("Enter the Number:");
scanf("%d",&ch);
switch(ch)
{
case 1:
list_file();
break;
case 2:
directory();
break;
case 3:
change_dir();
break;
case 4:
exit(0);
} }while(ch<=4);
}
int list_file()
{
int l;
char e[]="*.*";
clrscr();
printf("\t\tLIST FILE DETAIL\n\t--------------------------------------\n");
printf("1.List All Files\n2.List of Extention Files\n3.List of Name Wise\n");
scanf("%d",&l);
switch(l)
{
case 1:
printf("List of All(*.*) Files\n");
subfun(e);
break;
case 2:
printf("Enter the Extention:");
scanf("%s",&e);
subfun(e);
break;
case 3:
printf("Enter the Name wise(eg:moha*.*):");
scanf("%s",&e);
subfun(e);
break;
}
return 0;
}
int directory()
{
struct ffblk ffblk;
unsigned attrib;
int d;
char name[10],buffer[MAXPATH];
printf("Enter the Directory name:");
scanf("%s",&name);
getcwd(buffer,MAXPATH);
printf("Current directory:%s\n",buffer);
if(_dos_getfileattr(name,&attrib)==0)
{
printf("%s has already available",name);
return 0;
}
else
{
mkdir(name);
printf("%s Directory Successfully Created\n",name);
}
return 0;
}
int change_dir()
{
char buffer[MAXPATH];
int d,d1;
printf("\nCurrent Directory:%s\n",getcwd(buffer,MAXPATH));
printf("\t\tChange Directory\n\t\t-----------------\n");
printf("\n1.Step by Step Backward\n2.Goto Root Directory\n3.Forward Directory \nEnter the number:");
scanf("%d",&d);
switch(d)
{
case 1:
chdir("..");
break;
case 2:
chdir("\\");
break;
case 3:
printf("Please enter the Filename:");
scanf("%s",buffer);
chdir(buffer);
break;
}
printf("\nCurrent Directory:%s",getcwd(buffer,MAXPATH));
return 0;
}
int subfun(s)
char s[10];
{
struct ffblk ffblk;
int d,p=0,i=0;
d=findfirst(s,&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
i++;
p=p+1;
if(p>=22)
{
printf("Press any key to continue:\n");
getch();
p=0;
}
}
printf("\nTotal File:%d",i);
return 0;
}
================================================
======================================
#include
#include
#include
#include
void main()
{
int ch;
clrscr();
do
{
printf("\n\t\t\tMAIN MENU\n\t\t-------------------------\n");
printf("1.To Display List of Files\n");
printf("2.To Create New Directory\n");
printf("3.To Change the Working Directory\n");
printf("4.Exit\n");
printf("Enter the Number:");
scanf("%d",&ch);
switch(ch)
{
case 1:
list_file();
break;
case 2:
directory();
break;
case 3:
change_dir();
break;
case 4:
exit(0);
} }while(ch<=4);
}
int list_file()
{
int l;
char e[]="*.*";
clrscr();
printf("\t\tLIST FILE DETAIL\n\t--------------------------------------\n");
printf("1.List All Files\n2.List of Extention Files\n3.List of Name Wise\n");
scanf("%d",&l);
switch(l)
{
case 1:
printf("List of All(*.*) Files\n");
subfun(e);
break;
case 2:
printf("Enter the Extention:");
scanf("%s",&e);
subfun(e);
break;
case 3:
printf("Enter the Name wise(eg:moha*.*):");
scanf("%s",&e);
subfun(e);
break;
}
return 0;
}
int directory()
{
struct ffblk ffblk;
unsigned attrib;
int d;
char name[10],buffer[MAXPATH];
printf("Enter the Directory name:");
scanf("%s",&name);
getcwd(buffer,MAXPATH);
printf("Current directory:%s\n",buffer);
if(_dos_getfileattr(name,&attrib)==0)
{
printf("%s has already available",name);
return 0;
}
else
{
mkdir(name);
printf("%s Directory Successfully Created\n",name);
}
return 0;
}
int change_dir()
{
char buffer[MAXPATH];
int d,d1;
printf("\nCurrent Directory:%s\n",getcwd(buffer,MAXPATH));
printf("\t\tChange Directory\n\t\t-----------------\n");
printf("\n1.Step by Step Backward\n2.Goto Root Directory\n3.Forward Directory \nEnter the number:");
scanf("%d",&d);
switch(d)
{
case 1:
chdir("..");
break;
case 2:
chdir("\\");
break;
case 3:
printf("Please enter the Filename:");
scanf("%s",buffer);
chdir(buffer);
break;
}
printf("\nCurrent Directory:%s",getcwd(buffer,MAXPATH));
return 0;
}
int subfun(s)
char s[10];
{
struct ffblk ffblk;
int d,p=0,i=0;
d=findfirst(s,&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
i++;
p=p+1;
if(p>=22)
{
printf("Press any key to continue:\n");
getch();
p=0;
}
}
printf("\nTotal File:%d",i);
return 0;
}
================================================
c program for implementing system calls
# c program for implementing system calls
================================================
#include
#include
#include
#include
void main()
{
int ch;
clrscr();
do
{
printf("\n\t\t\tMAIN MENU\n\t\t-------------------------\n");
printf("1.To Display List of Files\n");
printf("2.To Create New Directory\n");
printf("3.To Change the Working Directory\n");
printf("4.Exit\n");
printf("Enter the Number:");
scanf("%d",&ch);
switch(ch)
{
case 1:
list_file();
break;
case 2:
directory();
break;
case 3:
change_dir();
break;
case 4:
exit(0);
} }while(ch<=4);
}
int list_file()
{
int l;
char e[]="*.*";
clrscr();
printf("\t\tLIST FILE DETAIL\n\t--------------------------------------\n");
printf("1.List All Files\n2.List of Extention Files\n3.List of Name Wise\n");
scanf("%d",&l);
switch(l)
{
case 1:
printf("List of All(*.*) Files\n");
subfun(e);
break;
case 2:
printf("Enter the Extention:");
scanf("%s",&e);
subfun(e);
break;
case 3:
printf("Enter the Name wise(eg:moha*.*):");
scanf("%s",&e);
subfun(e);
break;
}
return 0;
}
int directory()
{
struct ffblk ffblk;
unsigned attrib;
int d;
char name[10],buffer[MAXPATH];
printf("Enter the Directory name:");
scanf("%s",&name);
getcwd(buffer,MAXPATH);
printf("Current directory:%s\n",buffer);
if(_dos_getfileattr(name,&attrib)==0)
{
printf("%s has already available",name);
return 0;
}
else
{
mkdir(name);
printf("%s Directory Successfully Created\n",name);
}
return 0;
}
int change_dir()
{
char buffer[MAXPATH];
int d,d1;
printf("\nCurrent Directory:%s\n",getcwd(buffer,MAXPATH));
printf("\t\tChange Directory\n\t\t-----------------\n");
printf("\n1.Step by Step Backward\n2.Goto Root Directory\n3.Forward Directory \nEnter the number:");
scanf("%d",&d);
switch(d)
{
case 1:
chdir("..");
break;
case 2:
chdir("\\");
break;
case 3:
printf("Please enter the Filename:");
scanf("%s",buffer);
chdir(buffer);
break;
}
printf("\nCurrent Directory:%s",getcwd(buffer,MAXPATH));
return 0;
}
int subfun(s)
char s[10];
{
struct ffblk ffblk;
int d,p=0,i=0;
d=findfirst(s,&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
i++;
p=p+1;
if(p>=22)
{
printf("Press any key to continue:\n");
getch();
p=0;
}
}
printf("\nTotal File:%d",i);
return 0;
}
============================================================
output:
================================================
#include
#include
#include
#include
void main()
{
int ch;
clrscr();
do
{
printf("\n\t\t\tMAIN MENU\n\t\t-------------------------\n");
printf("1.To Display List of Files\n");
printf("2.To Create New Directory\n");
printf("3.To Change the Working Directory\n");
printf("4.Exit\n");
printf("Enter the Number:");
scanf("%d",&ch);
switch(ch)
{
case 1:
list_file();
break;
case 2:
directory();
break;
case 3:
change_dir();
break;
case 4:
exit(0);
} }while(ch<=4);
}
int list_file()
{
int l;
char e[]="*.*";
clrscr();
printf("\t\tLIST FILE DETAIL\n\t--------------------------------------\n");
printf("1.List All Files\n2.List of Extention Files\n3.List of Name Wise\n");
scanf("%d",&l);
switch(l)
{
case 1:
printf("List of All(*.*) Files\n");
subfun(e);
break;
case 2:
printf("Enter the Extention:");
scanf("%s",&e);
subfun(e);
break;
case 3:
printf("Enter the Name wise(eg:moha*.*):");
scanf("%s",&e);
subfun(e);
break;
}
return 0;
}
int directory()
{
struct ffblk ffblk;
unsigned attrib;
int d;
char name[10],buffer[MAXPATH];
printf("Enter the Directory name:");
scanf("%s",&name);
getcwd(buffer,MAXPATH);
printf("Current directory:%s\n",buffer);
if(_dos_getfileattr(name,&attrib)==0)
{
printf("%s has already available",name);
return 0;
}
else
{
mkdir(name);
printf("%s Directory Successfully Created\n",name);
}
return 0;
}
int change_dir()
{
char buffer[MAXPATH];
int d,d1;
printf("\nCurrent Directory:%s\n",getcwd(buffer,MAXPATH));
printf("\t\tChange Directory\n\t\t-----------------\n");
printf("\n1.Step by Step Backward\n2.Goto Root Directory\n3.Forward Directory \nEnter the number:");
scanf("%d",&d);
switch(d)
{
case 1:
chdir("..");
break;
case 2:
chdir("\\");
break;
case 3:
printf("Please enter the Filename:");
scanf("%s",buffer);
chdir(buffer);
break;
}
printf("\nCurrent Directory:%s",getcwd(buffer,MAXPATH));
return 0;
}
int subfun(s)
char s[10];
{
struct ffblk ffblk;
int d,p=0,i=0;
d=findfirst(s,&ffblk,0);
while(!d)
{
printf("%s\n",ffblk.ff_name);
d=findnext(&ffblk);
i++;
p=p+1;
if(p>=22)
{
printf("Press any key to continue:\n");
getch();
p=0;
}
}
printf("\nTotal File:%d",i);
return 0;
}
============================================================
output:
Subscribe to:
Posts (Atom)