0% found this document useful (0 votes)
95 views

C Assignments

The program asks the user to enter a string and checks if it is a palindrome or not. It determines this by iterating from both ends of the string, comparing the characters. If all characters from front and back match, it is a palindrome. The program prints "Yes" if it is a palindrome, "No" otherwise. This allows the user to easily check if a given string reads the same forward and backward.

Uploaded by

Anonymous i9myaL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

C Assignments

The program asks the user to enter a string and checks if it is a palindrome or not. It determines this by iterating from both ends of the string, comparing the characters. If all characters from front and back match, it is a palindrome. The program prints "Yes" if it is a palindrome, "No" otherwise. This allows the user to easily check if a given string reads the same forward and backward.

Uploaded by

Anonymous i9myaL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 120

Aim: Write a C Program to find the sum of individual digits of positive integer.

Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int n,r,s=0;
clrscr()
printf(enter any positive integer);
scanf(%d,&n)
while(n > 0)
{
r = n % 10;
s = s + r;
n=n / 10;
}
printf(the sum of individual digits of positive integer=%d,s);
getch();
}
Output:
enter any positive integer
234
the sum of individual digits of positive integer=9

Page No:

Aim: Write a c Program to generate the first n terms of the fibonacci sequence.
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int i,n,a=0,b=1,c;
clrscr();
printf(enter any number);
scanf(%d,&n);
printf( the fibonacci sequence);
printf(%d\t%d\t,a,b);
for(i=3; i<=n;i++)
{
c=a+b;
printf(%d\t,c);
a=b;
b=c;
}
getch();
}

Page No:

Output:
enter any number
8
the fibonacci sequence
0

13

Page No:

Aim: Write a c Program to generate all the prime numbers between 1 and n where n is
a value supplied by the user.
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,n,count;
clrscr();
printf(enter any number);
scanf(%d,&n);
printf(prime numbers between 1 and %d\n,n);
for(i=1; i<=n; i++ )
{
j=1;
count=0;
while(j<=i)
{
if(i%j==0)
count++;
j++;
}
if(count==2)

Page No:

printf(%d\t,i);
}
}
Output:
enter any number
20
prime numbers between 1 and 20 :
2

11

13

17

19

Page No:

Aim: Write a c Program to calculate the following


sum = 1 x2 / 2! + x4 /4! x6 / 6! + x8 /8! x10 /10!
Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
long int i,j,k=2,f,x;
double s=0;
clrscr();
for(i=2;i<=10;i=i+2)
{
f=1;
for(j=1;j<=i;j++)
f=f*j;

if(k%2==0)
s= s-pow(x,i)/(float)f;
else
s= s+ pow(x,i)/(float)f;

k++;

Page No:

}
printf("the sum=%f",s);
getch();
}
Output:
the sum=-3.293402312390023230000000000000000000000e+78

Page No:

Aim: Write a c Program to find the roots of a quadratic equation.


Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int a,b,c;
float d,r1,r2;
clrscr();
printf("enter values of a,b &c");
scanf("%d%d%d",&a,&b,&c);
d=b*b - 4*a*c;
if( d==0)
{
r1=r2=-b/2*a;
printf("roots are equal\n");
printf("root1=root2=%f",r1);
}
else if(d>0)
{
r1=-b+sqrt(d)/(float)2*a;
r2=-b-sqrt(d)/(float)2*a;

Page No:

printf("roots are real\n");


printf("root1=%f\troot2=%f",r1,r2);
}
else
{
printf("roots are imaginary");
}
getch();
}
Output1:
enter values of a,b &c
242
roots are equal
root1=root2=-4.000000
Output2:
enter values of a,b &c
142
roots are real
root1=-2.585786

root2=-5.414214

Output3:
enter values of a,b &c
145
roots are imaginary

Page No:

Aim : Write a c Program to find the factorial of a given integer using non recursive
function
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,f;
int fact(int);
clrscr();
printf(enter any integer);
scanf(%d,&n);
f=fact(n);
printf(the factorial of a given number=%d,f);
getch();
}
int fact(int n)
{
int f=1,i;
for(i=1;i<=n;i++)
f=f*i;
}
return(f)

Page No:

Output:
enter any integer
5
the factorial of a given number =120

Page No:

Aim : Write a c Program to find the factorial of a given integer using recursive function
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,f;
int fact(int);
clrscr();
printf(enter any integer);
scanf(%d,&n);
f=fact(n);
printf(the factorial of a given number=%d,f);
getch();
}
int fact(int n)
{
int f;
if(n==1)
return 1;
else
f=n*fact(n-1);
return (f);

Page No:

Output:
enter any integer
5
the factorial of a given number =120

Page No:

Aim: Write a c Program to find the lcm and gcd of two given integers using nonrecursive function
Program :
#include<stdio.h>
#include<conio.h>
void lcm(int,int);
int gcd(int,int);
void main()
{
int a,b,z;
clrscr();
printf("\n enter a,b values");
scanf("%d%d",&a,&b);
if(a<b)
{
z=gcd(a,b);
printf("\n the gcd of%d and %d is %d",a,b,z);
}
else
{
z=gcd(b,a);
printf("\n the gcd of%d and %d is %d",b,a,z);
}
lcm(a,b);
getch();
}
int gcd(int c,int d)
{
int r;
r=d%c;
while(r!=0)
{
d=c;
c=r;
r=d%c;
}
return(c);
}
void lcm(int x,int y)
Page No:

{
int l;
if(x<y)
l=((x*y)/gcd(x,y));
else
l=((x*y)/gcd(x,y));
printf("\n l.c.m of %d and %d is %d",x,y,l);
}

Output::

enter a,b values6 5


the gcd of5 and 6 is 1
l.c.m of 6 and 5 is 30

Page No:

Aim: the total distance traveled by a vehicle in t secs is given by distance=ut+1/2at*t


where u and a are initial velocity and a is acceleration. Write a c Program to find the
distance traveled atregular intervals of the time for the given values of u and a. the
Program should provideflexibility to user to select his own time intervals and repeat
calculations for different u and a.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
float s,u,a,sum=0;
int t,k,d;
clrscr();
printf("\nenter velocity and acceleration of vehicle");
scanf("%f %f",&u,&a);
printf("\nenter final time");
scanf("%d",&k);
printf("\nenter time interval");
scanf("%d",&d);
for(t=0;t<=k;t=t+d)
{
s=(u*t)+(0.5*a*t*t);
printf("\ndistance travelled is %f",s);
sum=sum+s;
}
printf("\nsum of distance is %f",sum);
getch();
}
Output::
enter velocity and acceleration of vehicle50 10
enter final time2
enter time interval1
distance travelled is 0.000000

Page No:

distance travelled is 55.000000


distance travelled is 120.000000
sum of distance is 175.000000

Aim:Program to read two numbers and perform desired arithmetic operation.


Program:
Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,d;
clrscr();
printf("enter the values a and b");
scanf("%d%d",&a,&b);
printf("\n 1.addition");
printf("\n 2.subtraction");
printf("\n 3.multiplication");
printf("\n 4.division");
printf("\n 5.modulo division");
printf("\n enter your choice from 1-5:");
scanf("%d",&d);
switch(d)
{
case 1:
printf("\n addition");
c=a+b;
printf("\n the result is =%d",c);
break;
case 2:
printf("\n subtraction");
c=a-b;
printf("\n the result is=%d",c);
break;
case 3:
printf("\n multiplication");
c=a*b;
printf("\n the result is=%d",c);
break;
case 4:
printf("\n division");
c=a/b;
printf("\n the result is=%d",c);
break;
case 5:
printf("\n modluo division");

Page No:

c=a%b;
printf("\n the result is=%d",c);
break;
default:
printf("\n wrong entry");
break;
}
getch();
}

Output::

enter the values a and b 5 6


1.addition
2.subtraction
3.multiplication
4.division
5.modulo division
enter your choice from 1-5:3
multiplication
the result is=30

Aim: Write a c Program to find both the largest and smallest number in a list of
integers

Page No:

Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int i,n,a[10],largest,smallest;
clrscr();
printf("how many numbers you want to enter:");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);

largest=a[0];
smallest=a[0];
for(i=1;i<n;i++)
{
if(largest<a[i])
largest=a[i];
if(smallest>a[i])
smallest=a[i];
}
printf("\n largest number =%d\n",largest);

Page No:

printf("smallest number=%d",smallest);
getch();
}
Output:
how many numbers you want to enter:5
enter 5 elements
10
20
30
40
50

largest number =50


smallest number=10

Aim: Write a c Program to find addition of two matrices


Program:

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int a[2][2],b[2][2],c[2][2],r1,c1,r2,c2,i,j;
clrscr();
printf("enter no of rows & columns of matrix-a");
scanf("%d%d",&r1,&c1);
printf("enter no of rows & columns of matrix-b");
scanf("%d%d",&r2,&c2);
if(r1==r2 && c1==c2)
{
printf("enter elements of matrix-a");

for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("enter elements of matrix-b");
for(i=0;i<r2;i++)

Page No:

{
for(j=0;j<c2;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("matrix addition:\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%2d",c[i][j]);
}
printf("\n");
}
}
else
printf("matrix addition is not possible");
getch();
}
Output:
enter no of rows & columns of matrix-a

Page No:

2
2
enter no of rows & columns of matrix-b
2
2
enter elements of matrix-a
1

enter elements of matrix-b


5

matrix addition:
6

10

12

Aim: Write a c Program to find multiplication of two matrices


Program:

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int a[2][2],b[2][2],c[2][2],i,j,m,n,p,q,k;
clrscr();
printf("\n enter the order of matrix-a");
scanf("%d%d",&m,&n);
printf("\n enter order of matrix b");
scanf("%d%d",&p,&q);
if(n==p)
{
printf("enter elements of matrix-a");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}

printf("enter elements of matrix b");


for(i=0;i<p;i++)
{
for(j=0;j<q;j++)

Page No:

scanf("%d",&b[i][j]);
}
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
c[i][j]=0;
for(k=0;k<p;k++)
{
c[i][j]=c[i][j]+(a[i][k]*b[k][j]);
}
}
}
printf("\n multiplication of matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
printf("%2d",c[i][j]);
}
printf("\n");
}
}

Page No:

else
printf("\n matrix multiplication is not possible");
getch();
}
Output:
enter the order of matrix-a
2
2
enter order of matrix b
2
2
enter elements of matrix-a
1

enter elements of matrix b


1

multiplication of matrix is
3

Output2:
enter the order of matrix-a

Page No:

2
2
enter order of matrix b
1
2
matrix multiplication is not possible

Aim: Write a c Program to delete n characters from a given position in given string
Program:

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int i,pos,n;
char mstr[100];
void strdel();

clrscr();
printf("enter main string");
gets(mstr);
printf("\n enter how many characters and from which position");
scanf("%d%d",&n,&pos);
strdel(mstr,n,pos);
getch();
}

void strdel(char m[],int n,int p)


{
int i;
for(i=p; m[i]!='\0';i++)
m[i]=m[i+n];

Page No:

printf("after deletion=%s",m);
}
Output:
enter main string : hyderabad
enter how many characters and from which position
3
3
after deletion=hydbad

Aim: Write a c Program to determine if the given string is a palindrome or not.


Program:

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int i,j=0,len=0;
char s1[10],s2[10];
clrscr();
printf("enter any string:");
scanf("%s",s1);

for(i=0;s1[i]!='\0';i++)
{
len++;
}

for(i=len-1;i>=0;i--)
{
s2[j]=s1[i];
j++;
}
s2[j]=null;
for(i=0;s1[i]!='\0';i++)
{

Page No:

if(s1[i]==s2[i])
{
continue;
}
else
{
printf("not palindrome");
getch();
exit(0);
}
}
printf("palindrome");
getch();
}
Output:
enter any string:liril
palindrome
Output2:
enter any string:india
not palindrome

Aim: Write a C program that displays the position or index in the string S where the
string T begins or -1 if S doest not contain T

Page No:

Program:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char s[20],t[10];
char *found;
clrscr();
printf("enter the main string");
gets(s);
printf("enter the string to be searched");
gets(t);
found=strstr(s,t);
if(found)
printf("string t is found in the main string at %d position",found+1);
else
printf("-1");
getch();
}

Output:
enter the main string :

Page No:

hyderabad
enter the string to be searched:
bad
string t is found in the main string at 7 position

Aim: Write a c Program to count the lines words and characters in a given text.
Program:

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int line=0,word=0,ch=0;
char c;
clrscr();
printf("enter text");
while((c=getchar())!=eof)
{
if (c=='\n')
line++;
else if(c==' ')
word++;
else
ch++;
}
printf("no of lines=%d",line);
printf("\n no of words=%d",word+line);
printf("\n no of characters=%d",ch);
getch();
}
Output:

Page No:

enter textindia is my country


all indians are my brothers and sisters
^z
no of lines=2
no of words=11
no of characters=49

Aim: Write a c Program to generate pascals triangle.


Program

Page No:

#include<stdio.h>
#include<conio.h>
void main()
{
int b,p,q,r,x;
clrscr();
printf("\n enter no.of rows");
scanf("%d", &r);
b=1;
q=0;
printf("\n pascal's triangle\n");
while(q<r)
{
for(p=30-3*q;p>0;p--)
printf(" ");
for(x=0;x<=q;x++)
{
if(x==0||q==0)
b=1;
else
b=(b*(q-x+1)/x);
printf("%6d",b);
}
printf("\n");
q++;
}
getch();
}

Output::
enter no.of rows 5

Page No:

pascal's triangle
1
1
1
1
1

1
2

3
4

1
3

1
4

Aim: Write a c Program to construct a pyramid of numbers

Page No:

Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,j,k,x=1;
clrscr();
printf("enter no of rows");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=n-i;k>=1;k--)
printf(" ");

for(j=1;j<=i;j++)
{
printf("%4d",x);
x++;
}
printf("\n");
}
getch();
}

Page No:

Output:
enter no of rows 4
1
2 3
4 5 6
7 8 9 10

Page No:

Aim: Write a c Program to read in two numbers x and n and the compute the sum of
this geometric progression.
Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int x,n,i,s=1;
clrscr();
label:
printf("enter values of x and n");
scanf("%d%d",&x,&n);
if(n>0)
{
for(i=1;i<=n;i++)
{
s=s+pow(x,i);
}
printf("sum=%d",s);
}
else
{

Page No:

printf("enter positive integer for n\n");


goto label;
}
getch();
}
Output:
enter values of x and n
5
3
sum=156

Output2:
enter values of x and n
5
-2
enter positive integer for n
enter values of x and n

Page No:

Aim: Program to perform addition,subtraction,multiplication and division on two


complex numbers.((x+iy) & (a+ib)).
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int x,y,a,b;
void add(int,int,int,int);
void sub(int,int,int,int);
void mul(int,int,int,int);
void div(float,float,float,float);
clrscr();
printf("\n enter real and imaginary part of 1st and 2nd numbers");
scanf("%d%d%d%d",&a,&b,&x,&y);
printf("\n numbers are:%d+i%d,%d+i%d",x,y,a,b);
add(x,y,a,b);
sub(x,y,a,b);
mul(x,y,a,b);
div(x,y,a,b);
getch();
}
void add(int p,int q,int r,int s)
{
int real,imag;
real=p+r;
imag=q+s;
printf("\n sum=%d+i%d",real,imag);
}
void sub(int p,int q,int r,int s)
{
int real,imag;
real=p-r;
imag=q-s;
printf("\n diffrence=%d+i%d",real,imag);
}
void mul(int p,int q,int r,int s)
{

Page No:

int real,imag;
real=p*r-q*s;
imag=q*r+p*s;
printf("\n product=%d+i%d",real,imag);
}
void div(float p,float q,float r,float s)
{
float real,imag;
real=(p*r+q*s)/(r*r+s*s);
imag=(q*r-p*s)/(r*r+s*s);
printf("\n division=%f+i%f",real,imag);
}
Output:
enter real and imaginary part of 1st and 2nd numbers 7 8 4 6
numbers are:4+i6,7+i8
sum=11+i14
diffrence=-3+i-2
product=-20+i74
division=0.672566+i0.088496

Page No:

Aim: Write a c Program which copies one file to another.


Program.
#include<stdio.h>
#include<conio.h>
void main()
{
file *f1,*f2;
char c;
clrscr();
f1=fopen("sample","w");
printf("enter text\n");
while((c=getchar())!=eof)
{
putc(c,f1);
}
fclose(f1);
f1=fopen("sample","r");
f2=fopen("sample2","w");
while((c=getc(f1))!=eof)
{
putc(c,f2);
}
fclose(f1);

Page No:

fclose(f2);
getch();
}
Output:
enter text
india is my country
^z

f:\turboc3>type sample
india is my country

f:\turboc3>type sample2
india is my country

Page No:

Aim: Write a c Programme to display the contents of a file.


Program:
#include<stdio.h>
#include<conio.h>
void main()
{
file *fp;
char c;
clrscr();
fp=fopen("f:\turboc3\sample","r");
printf("contents of a file:\n");
while((c=getc(fp))!=eof)
{
putc(c,stdout);
}
fclose(fp);
getch();
}
Output:
contents of a file:
india is my country

Page No:

Aim: Write a Program to find no of spaces,tabs,lines and characters in a file:


Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int line,space,ch,tab;
char c;
file *fp;

fp=fopen("example","w");
printf("enter text\n");
while((c=getchar())!=eof)
{
putc(c,fp);
}
fclose(fp);
fp=fopen("example","r");
line=space=tab=ch=0;
while((c=getc(fp))!=eof)
{
if(c==' ')
space++;

Page No:

else if(c=='\t')
tab++;
else if(c=='\n')
line++;
else
ch++;
}
printf("\nno of spaces=%d",space);
printf("\nno of tabs=%d",tab);
printf("\nno of lines=%d",line);
printf("\nno of characters=%d",ch);
fclose(fp);
getch();
}
Output:
enter text
joseph hyderabad
yosepu secbad
james hydbad
david secbad
^z

no of spaces=2

Page No:

no of tabs=2
no of lines=4
no of characters=49

Page No:

Aim : Write a c Programme to merge two files into a third file.


Program:
#include<stdio.h>
#include<conio.h>
void main()
{
file *f1,*f2;
char c;
clrscr();
f1=fopen("sample","w");
printf("enter text into sample file\n");
while((c=getchar())!=eof)
{
putc(c,f1);
}
fclose(f1);
f2=fopen("sample","w");
printf("enter text into sample2 file\n");
while((c=getchar()!=eof)
{
putc(c,f2);
}
fclose(f2);

Page No:

f1=fopen("sample","r");
f2=fopen("sample2","r");
f3=fopen("sample3","w");
while((c=getc(f1))!=eof)
putc(c,f3);
while((c=getc(f2))!=eof)
putc(c,f3);
fclose(f1);
fclose(f2);
fclose(f3);
getch();
}

getch();
}
Output:
enter text into sample file
india is my country
^z
enter text into sample2 file
all indians are my brothers and sisters
^z

Page No:

f:\turboc3>type sample
india is my country

f:\turboc3>type sample2
all indians are my brothers and sisters

f:\turboc3>type sample3
india is my country
all indians are my brothers and sisters

f:\turboc3>

Page No:

Aim: Write a c Program to search a key value in a given list of integers using linear
search
Program:
#include<stdio.h>
#include<conio.h>
#include<process.h>
void main()
{
int i,n,element,a[10];
clrscr();
printf("enter how many elements u want to enter");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);

printf("enter any element to search");


scanf("%d",&element);
for(i=0;i<n;i++)
{
if(a[i]==element)
{
printf("element is found at position %d",i);
getch();

Page No:

exit(0);
}
}
printf("element is not found");

getch();

}
Output:
enter how many elements u want to enter
5
enter 5 elements
20
30
10
40
50
enter any element to search
30
element is found at 1 position

Page No:

Aim: Aim: Write a c Program to search a key value in a given list of integers using
binary search
Program:
#include<stdio.h>
#include<conio.h>
#include<process.h>
void main()
{
int i,n,element,a[10],low,high,mid;
clrscr();
printf("enter how many elements u want to enter");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);

printf("enter any element to search");


scanf("%d",&element);

low=0;
high=n-1;

while(low<=high)

Page No:

{
mid = (low+high)/2;
if(element< a[mid])
high=mid-1;
else if (element > a[mid])
low=mid+1;
else
{
printf("element is found at position =%d",mid);
getch();
exit(0);
}
}
printf("element is not found");
getch();
}
Output:
enter how many elements u want to enter
5
enter 5 elements
10
20
30

Page No:

40
50
enter any element to search
30
element is found at 1 position

Page No:

Aim: Write a c Program to sort a given list of integers in ascending order using bubble
sort.
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,n,a[10],temp;
clrscr();
printf("enter how many elements u want to enter");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=i;j<n-1;j++)
{
if(a[i]>a[j+1])
{
temp=a[i];
a[i]=a[j+1];
a[j+1]=temp;

Page No:

}
}
}
printf("sorted elements in ascending order\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
getch();
}
Output:
enter how many elements u want to enter
5
enter 5 elements
20
30
10
50
40
sorted elements in ascending order
10
20
30
40
50

Page No:

Aim: Write a c Program to sort a given list of integers in ascending order using bubble
sort.
Program :
#include<stdio.h>
#include<conio.h>
#include<process.h>
void main()
{

int i,j,n,a[10],temp,min;
clrscr();
printf("enter how many elements u want to enter");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);

for(i=0;i<n-1;i++)
{
min=i;
for( j=i+1;j<n;j++)
{
if(a[j]<a[min])

Page No:

min=j;
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("after sorting :\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);

getch();
}
ouput:
enter how many elements u want to enter
5
enter 5 elements
20
30
10
50
40
after sorting
10

Page No:

20
30
40
50

Page No:

Aim: Write a c Program to sort a given list of integers in ascending order using
insertion sort
Program:
#include<stdio.h>
#include<conio.h>

void main()
{

int i,j,n,a[10],index;
clrscr();
printf("enter how many elements u want to enter");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);

for(i=1;i<n;i++)
{
index=a[i];
j=i;
while(j>0 && (a[j-1] >index))
{

Page No:

a[j]=a[j-1];
j=j-1;
}
a[j]=index;
}

printf("sorted elements:\n");
for( i=0;i<n;i++)
printf("%d\t",a[i]);
getch();
}
ouput:
enter how many elements u want to enter
5
enter 5 elements
20
30
10
50
40
sorted elements:
10

20

30

40

50

Page No:

Aim: Write a c Program to implement merge sort.


Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k,n1,n2,a[10],b[10],c[20];
clrscr();
printf("enter how many elements u want to enter for first array");
scanf("%d",&n1);
printf("enter %d elements of first array",n1);
for(i=0;i<n1;i++)
scanf("%d",&a[i]);

printf("enter how many elements u want to enter for second array");


scanf("%d",&n2);
printf("enter %d elements of second array",n2);
for(i=0;i<n2;i++)
scanf("%d",&b[i]);
i=j=k=0;
while( i<n1 && j<n2)
{

Page No:

if(a[i]<b[j])
{
c[k]=a[i];
i++;
}
else
{
c[k]=a[j];
j++;
}
k++;

while(i<n1)
{
c[k]=a[i];
i++;
k++;
}
while(j<n2)
{
c[k]=a[j];

Page No:

j++;
k++;
}

printf("sorted elements:\n");
for( i=0;i<k;i++)
printf("%d\t",c[i]);
getch();
}
Output:
enter how many elements u want to enter for first array
2
enter 2 elements of first array
15
25
enter how many elements u want to enter for second array
3
enter 3 elements of second array
10
20
30
sorted elements:
10

15

20

25

30

Page No:

Aim: Write a c Program that implement stack operations using arrays.


Program:
#include<stdio.h>
#include<conio.h>
#include<process.h>
const int size=3;
int stk[size], top,i;
void push( );
void pop( );
void display( );
void main( )
{
int i,ch;
clrscr( );
while(1)
{
printf("\n1.push \n");
printf("2.pop \n");
printf("3.display \n");
printf("4.exit \n");
printf("enter your choice:");
scanf(%d,&ch);
switch(ch)

Page No:

{
case 1:
push();
break;
case 2:
pop();
break;
case 3:
printf("the elements are:");
display();
break;
case 4:
exit(0);
default:
printf("enter correct choice:");
break;
}
}
}
void push( )
{
int element;
if(top==size)

Page No:

{
printf("stack is full");
}
else
{
printf("enter any integer:");
scanf(%d,&element);
stk[top]=element;
top++;
}
}

void pop()
{

if(top==0)
{
printf("stack is empty");
}
else
{
--top;
printf("the deleted element is:",stk[top]);

Page No:

}
}
void display()
{
for(i=top-1;i>=0;i--)
{
printf(%d\n.stk[i]);
}
}
}
Output:
1.push
2.pop
3.display
4.exit
enter your choice : 1
enter any integer: 10
1.push
2.pop
3.display
4.exit
enter your choice : 1
enter any integer: 20
1.push
2.pop
3.display
Page No:

4.exit
enter your choice : 1
enter any integer: 30
1.push
2.pop
3.display
4.exit
enter your choice : 1
stack is full

1.push
2.pop
3.display
4.exit
enter your choice : 3
the elements are 30 20 10
1.push
2.pop
3.display
4.exit
enter your choice : 2
the deleted element is 30

1.push
2.pop
3.display

Page No:

4.exit
enter your choice : 2
the deleted element is 20
1.push
2.pop
3.display
4.exit
enter your choice : 2
the deleted element is 10
1.push
2.pop
3.display
4.exit
enter your choice : 2
stack is empty

1.push
2.pop
3.display
4.exit
enter your choice : 4

Page No:

Aim: Write a c Program to implement queues using arrays


Program:
#include<stdio.h>
#include<conio.h>
#include<process.h>
const int size=10;
int q[size],front,rear,i;
void insert( ) ;
void del( );
void display( );

void main()
{
int i,ch;
clrscr();
while(1)
{
printf("\n1.insert \n");
printf("2.delete \n");
printf("3.display \n");
printf("4.exit \n");
printf("enter your choice:");
scanf(%d,&ch);

Page No:

switch(ch)
{
case 1:
insert( );
break;
case 2:
del( );
break;
case 3:
printf("the elements are:");
display( );
break;
case 4:
exit(0);
default:
printf("enter correct choice:");
break;
}
}
}
void insert()
{
int element;

Page No:

if(rear = = size)
{
printf("queue is full");
}
else
{
printf("enter any integer:");
scanf(%d,&element);
q[rear]=element;
rear++;
}
}

void del()
{
if((rear==front) || rear==0)
{
printf("queue is empty");
rear=front=0;
}
else
{
printf("deleted element is :",q[front]);

Page No:

front++;
}
}
void display()
{
for(i=front;i<rear;i++)
{
printf(%d\n,q[i]);
}
}
}

Output:
1.insert
2.delete
3.display
4.exit
enter your choice: 1
enter any integer: 10
1.insert
2.delete
3.display
4.exit
enter your choice: 1
enter any integer: 20

Page No:

1.insert
2.delete
3.display
4.exit
enter your choice: 1
enter any integer: 30
1.insert
2.delete
3.display
4.exit
enter your choice: 1
queue is full
1.insert
2.delete
3.display
4.exit
enter your choice: 3
the elements are 10 20 30

1.insert
2.delete
3.display
4.exit
enter your choice: 2
deleted element is: 10

Page No:

1.insert
2.delete
3.display
4.exit
enter your choice: 2
deleted element is: 20

1.insert
2.delete
3.display
4.exit
enter your choice: 2
deleted element is: 30

1.insert
2.delete
3.display
4.exit
enter your choice: 2
queue is empty
1.insert
2.delete
3.display
4.exit
enter your choice: 4
Aim: Program For Conversion Of Infix To Postfix

Page No:

Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
#define SIZE 20
int top= -1;
char stack[SIZE];
char infix[20],postfix[20],op;
void push_pop(int *);
void push(char);
void pop(int *);
int priority(char);
void main()
{
int p=-1,i;
stack[++top]='$';
clrscr();
printf("\n Enter an Infix Expression:");
gets(infix);
i=0;
while (infix[i]!='\0')
{
op=infix[i];
if((op>=48&&op<=57)||(op>=65&&op<=90)||(op>=97&&op<=122))
postfix[++p]=op;
else
push_pop(&p);
i++;
}
op='\0';
while(top!=0)
pop(&p);
printf("\n The Postfix Expression is %s",postfix);
getch();
}

Page No:

void push_pop(int *index)


{
if(op==')')
pop(index);
else
while(priority(op)<=priority(stack[top]))
{
if(stack[top]=='(')
{
push(op);
return;
}
else
pop(index);
}
if(op!=')')
push(op);
}

int priority(char x)
{
int retval;
switch(x)
{
case ')': retval=0;
break;
case '$': retval=1;
break;
case '+':
case '-': retval=2;
break;
case '*': retval=3;
break;
case '/': retval=4;
break;
case '(': retval=5;
break;
case '^': retval=6;

Page No:

break;
case '%': retval=7;
break;
default: printf("\n Invalid Operator found in Infix Expression");
getch();
exit(0);
}
return(retval);
}
void pop(int *index)
{
if(op==')')
{
while(stack[top]!='(')
{
postfix[++(*index)]=stack[top--];
if(top==0)
{
printf("\n Invalid Expression,Left paranthesis missed");
getch();
exit(0);
}
}
top--;
}
else if(stack[top]=='(')
{
printf("\n Invalid Expression,Right paranthesis missed");
getch();
exit(0);
}
else
postfix[++(*index)]=stack[top--];
}
void push(char op)
{
if(top<SIZE-1)
stack[++top]=op;
else
{

Page No:

printf("\nThe Stack reaches Overflow");


getch();
}
}
Output:
Enter an Infix Expression:a*b+c/d*f-g
The Postfix Expression is ab*cd/f*+gEnter an Infix Expression:a+(b*c+d)-f/g
The Postfix Expression is abc*d++fg/-

Aim: Program For Implementing Linear Linked List

Page No:

Program:
#include<conio.h>
#include<stdio.h>
#define null 0
typedef struct node
{
int data;
struct node *next;
}node;

void main()
{
node* delete(node* *list, int x);
void count(node* list);
void search(node* list,int x);
void display(node* list);
void insert(node* *list, int x);
int menu();
int x,ch;
char op;
node *list;
list=null;
clrscr();

Page No:

printf("**********INPUT**********");
do
{
ch=menu();
switch(ch)
{
case 1: printf("\nENTER THE ELEMENT TO BE INSERTED:");
scanf("%d",&x);
insert(&list,x);
break;
case 2: printf("ENTER THE ELEMENT TO BE DELETED:");
scanf("%d",&x);
delete(&list,x);
break;
case 3: display(list);
break;
case 4: count(list);
break;
case 5: printf("\n ENTER THE ELEMENT TO BE SEARCHED:");
scanf("%d",&x);
search(list,x);
break;
case 6: exit(0);

Page No:

break;
default:printf("\n INVALID CHOICE");
getch();

}
printf("\n DO YOU WANT TO CONTINUE(Y/N)?:");
op=getche();
}
while(op=='y'||op=='Y');
}

int menu()
{
int ch;
printf("\n**********MENU**********");
printf("\n1.INSERT");
printf("\n2.DELETE");
printf("\n3.DISPLAY");
printf("\n4.COUNT");
printf("\n5.SEARCH");
printf("\n6.EXIT");
printf("\nENTER YOUR CHOICE:");
scanf("%d",&ch);

Page No:

return(ch);
}

void insert(node* *list,int x)


{
node *p,*q;
p=(node*)malloc(sizeof(node));
p->data=x;
p->next=null;
if(*list==null)
*list=p;
else
{
for(q=*list;q->next!=null;q=q->next)
{ };
q->next=p;
}
}

node* delete(node* *list, int x)

Page No:

{
node *p,*q;
int m=0;
q=*list;
for(p=*list;p!=null;p=p->next)
{
if(p->data==x)
{
if(p==q)
{
q=q->next;
free(p);
*list=q;
m=1;
}
else
{
while(q->next!=p)
q=q->next;
q->next=p->next;
free(p);
m=1;
}

Page No:

}
}
if(m)
printf("\n %d IS DELETED FROM THE LIST",x);
else
printf("\n %d IS NOT PRESENT IN THE LIST",x);
}

void display(node* list)


{
int x;
node*p;
printf("\n THE LIST CONTAINS FOLLOWING ELEMENTS");
for(p=list;p!=null;p=p->next)
{
x=p->data;
printf("\n %d",x);
}
printf("\n");
}

void count(node* list)


{

Page No:

node *p;
int c=0;
p=list;
while(p!=null)
{
++c;
p=p->next;
}
printf("\n NUMBER OF ELEMENTS IN THE LIST ARE %d",c);
}

void search(node* list, int x)


{
node *p;
int m=0;
for(p=list;p!=null;p=p->next)
{
if(p->data==x)
m=1;
}
if(m)
printf("\N THE ELEMENT IS PRESENT");
else

Page No:

printf("\n THE ELEMENT IS NOT PRESENT");


}
OUTPUT
**********INPUT**********
**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:1

ENTER THE ELEMENT TO BE INSERTED:1

DO YOU WANT TO CONTINUE(Y/N)?:Y


**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT

Page No:

ENTER YOUR CHOICE:1

ENTER THE ELEMENT TO BE INSERTED:2

DO YOU WANT TO CONTINUE(Y/N)?:Y


**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:3

THE LIST CONTAINS FOLLOWING ELEMENTS


1
2

DO YOU WANT TO CONTINUE(Y/N)?:Y


**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY

Page No:

4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:4

NUMBER OF ELEMENTS IN THE LIST ARE 2


DO YOU WANT TO CONTINUE(Y/N)?:Y
**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:5

ENTER THE ELEMENT TO BE SEARCHED:1


THE ELEMENT IS PRESENT
DO YOU WANT TO CONTINUE(Y/N)?:Y
**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY

Page No:

4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:2
ENTER THE ELEMENT TO BE DELETED:1

1 IS DELETED FROM THE LIST


DO YOU WANT TO CONTINUE(Y/N)?:Y
**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:3

THE LIST CONTAINS FOLLOWING ELEMENTS


2

DO YOU WANT TO CONTINUE(Y/N)?: Y


**********MENU**********
1.INSERT

Page No:

2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:7

INVALID CHOICE

DO YOU WANT TO CONTINUE(Y/N)?:Y


**********MENU**********
1.INSERT
2.DELETE
3.DISPLAY
4.COUNT
5.SEARCH
6.EXIT
ENTER YOUR CHOICE:6

Aim: Program For Implementaion Of Stack Using Linked List

Page No:

Program:
#include<stdio.h>
#include<alloc.h>
#include<conio.h>
struct linkedstack
{
int num;
struct linkedstack *next;
};
typedef struct linkedstack stack;
stack *push(int,stack*);
stack *pop(stack*);
void printstack(stack*);
void main()
{
int choice,x;
stack *top;
top=NULL;
while(1)
{
clrscr();
printf("\n\t\tMENU");
printf("\n\t1.PUSH");

Page No:

printf("\n\t2.POP");
printf("\n\t3.PRINTSTACK");
printf("\n\t4.EXIT");
printf("\nENTER YOUR CHOICE");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("\n ENTER THE NUMBER");
scanf("%d",&x);
top=push(x,top);
break;
case 2: top=pop(top);
break;
case 3: printstack(top);
break;
case 4: exit(0);
break;
default:printf("\n INVALID CHOICE SELECTED");
getch();
}
}
}
stack *push(int x,stack *top)

Page No:

{
stack *newnode;
if((newnode=(stack*)malloc(sizeof(stack)))==NULL)
{
printf("\n THERE IS NO MEMORY");
getch();
return top;
}
newnode->num=x;
newnode->next=top;
top=newnode;
printf("\n THE %d IS PUSHED ONTO STACK", newnode->num);
getch();
return top;
}
stack *pop(stack *top)
{
stack *temp;
temp=top;
if(temp!=NULL)
{
top=temp->next;
printf("\n THE %d IS POPPED OFF THE STACH", temp->num);

Page No:

free(temp);
}
else
printf("\n THE STACK IS EMPTY,YOU CANNOT POP");
getch();
return top;
}
void printstack(stack *top)
{
stack *temp;
if(top==NULL)
printf("\n THERE ARE NO ELEMENTS IN STACK");
else
{
printf("\n THE STACK ELEMENTS ARE");
temp=top;
while(temp!=NULL)
{
printf("\n%4d",temp->num);
temp=temp->next;
}
}
getch();

Page No:

}
OUTPUT
MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 1

ENTER THE NUMBER 1

THE 1 IS PUSHED ONTO STACK

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 1

ENTER THE NUMBER 2

Page No:

THE 2 IS PUSHED ONTO STACK

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 1

ENTER THE NUMBER 3

THE 3 IS PUSHED ONTO STACK

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 3

Page No:

THE STACK ELEMENTS ARE


3
2
1

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 2

THE 3 IS POPPED OFF THE STACH

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 3

Page No:

THE STACK ELEMENTS ARE


2
1

MENU
1.PUSH
2.POP
3.PRINTSTACK
4.EXIT
ENTER YOUR CHOICE 4

Aim: Program For Implementation Of Queue Using Linked List

Page No:

Program:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<alloc.h>

struct linkedqueue
{
int num;
struct linkedqueue *next;
};

typedef struct linkedqueue queue;


queue *front, *rear;

void insert(int);
void del();
void printqueue();

void main()
{
int choice,x;
front=rear=NULL;

Page No:

while(1)
{
clrscr();
printf("\n\t\tMENU");
printf("\n\t1.INSERT");
printf("\n\t2.DELETE");
printf("\n\t3.PRINTQUEUE");
printf("\n\t4.EXIT");
printf("\nENTER YOUR CHOICE");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("\n ENTER THE NUMBER");
scanf("%d",&x);
insert(x);
break;
case 2: del();
break;
case 3: printqueue();
break;
case 4: exit(0);
break;
default:printf("\n INVALID CHOICE SELECTED");

Page No:

getch();
}
}
}

void insert(int x)
{
queue *newnode;
if((newnode=(queue*)malloc(sizeof(queue)))==NULL)
{
printf("\n THERE IS MEMORY TO ALLOCATE");
getch();
return;
}
newnode->num=x;
newnode->next=NULL;
if(rear==NULL)
{
rear=newnode;
front=rear;
}
else
{

Page No:

rear->next=newnode;
rear=newnode;
}
printf("\n THE %d IS INSERTED INTO QUEUE",newnode->num);
getch();
}

void del()
{
queue *temp;
temp=front;
if(temp==NULL)
printf("\n THE QUEUE IS EMPTY");
else
{
front=temp->next;
printf("\n THE %d IS DELETED FROM QUEUE",temp->num);
free(temp);
if(front==NULL)
rear=front;
}
getch();

Page No:

void printqueue()
{
queue *temp;
if(front==NULL)
printf("\n THERE ARE NO ELEMENTS IN QUEUE");
else
{
printf("\n THE QUEUE ELEMENTS ARE");
temp=front;
while(temp!=NULL)
{
printf("%4d",temp->num);
temp=temp->next;
}
}
getch();
}

OUTPUT

Page No:

MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 1
ENTER THE NUMBER 1
THE 1 IS INSERTED INTO QUEUE
MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 1
ENTER THE NUMBER 2
THE 2 IS INSERTED INTO QUEUE
MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 1

Page No:

ENTER THE NUMBER 3

THE 3 IS INSERTED INTO QUEUE

MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 3

THE QUEUE ELEMENTS ARE 1 2 3


MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 2

THE 1 IS DELETED FROM QUEUE

MENU
1.INSERT

Page No:

2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 3

THE QUEUE ELEMENTS ARE 2 3

MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 5

INVALID CHOICE SELECTED


MENU
1.INSERT
2.DELETE
3.PRINTQUEUE
4.EXIT
ENTER YOUR CHOICE 4

Page No:

Page No:

Page No:

Page No:

Page No:

Page No:

Page No:

Page No:

Page No:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy