Programs C
Programs C
prototype.h
#include <stdio.h>
#include <stdlib.h>
#define TRU !
#define "A#$ %
*oid print&calendar '"+# ,fout- int year- int day&code- int leap&year()
main.c
#include .prototype.h.
int main'(
"+# ,fout)
year 0 get&year'()
return %)
func.c
#include .prototype.h.
int year)
return year)
int day&code)
return day&code)
<<if''year8 =( 00 % ()
return TRU )
*oid print&calendar '"+# ,fout- int year- int day&code- int leap&year( <<function header
s2itch ' month ( / <, print name and set days&in&month ,<
case !7
fprintf'fout-.4n4nBanuary. ()
days&in&month 0 ;!)
breaC)
case :7
fprintf'fout-.4n4n"ebruary. ()
breaC)
case ;7
fprintf'fout- .4n4nGarch. ()
days&in&month 0 ;!)
breaC)
case =7
fprintf'fout-.4n4nApril. ()
days&in&month 0 ;%)
breaC)
case H7
fprintf'fout-.4n4nGay. ()
days&in&month 0 ;!)
breaC)
case I7
fprintf'fout-.4n4nBune. ()
days&in&month 0 ;%)
breaC)
case ?7
fprintf'fout-.4n4nBuly. ()
days&in&month 0 ;!)
breaC)
case F7
fprintf'fout-.4n4nAugust. ()
days&in&month 0 ;!)
breaC)
case E7
fprintf'fout-.4n4n$eptember. ()
days&in&month 0 ;%)
breaC)
case !%7
fprintf'fout-.4n4n3ctober. ()
days&in&month 0 ;!)
breaC)
case !!7
fprintf'fout-.4n4nJo*ember. ()
days&in&month 0 ;%)
breaC)
case !:7
fprintf'fout-.4n4nKecember. ()
days&in&month 0 ;!)
breaC)
fprintf'fout-. . ()
fprintf'fout-.8:d.- day ()
if ' ' day > day&code ( 8 ? > % ( <, before $atD ,<
fprintf'fout-. . ()
fprintf'fout- .4n . ()
DMA
prototype.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main.c
#include .prototype.h.
ma10atoi'arg*M!N()
printf'.4nma1 8d.-ma1()
printf'.4npattern 8s.-arg*M:N()
char inputMH%N)
char ,,str-,,temp)
str0JU##)
temp0JU##)
int i-count-len)
count0%)
for'i0%)i<ma1)i>>(
memset'input-%-H%()
fgets'input-=E-stdin()
len0strlen'input()
printf'.4nlen 8d.-len()
inputMlen-!N054%5)
if'% 00 strcmp'input-.end.((
breaC)
if'JU## @0 strstr'input-arg*M:N((
count>>)
<<printf'.4nT $T.()
<,if'JU## @0 temp(
str0temp),<
tempMcount-!N0'char,(malloc''strlen'input(>!(,siOeof'char(()
strcpy'tempMcount-!N-input()
printf'.4ntest.()
concat'temp-count-!()
for'i0%)i<count)i>>(
free'tempMiN()
free'temp()
temp0JU##)
return %)
func.c
#include .prototype.h.
int i)
char outputMH%N)
memset'output-%-H%()
for'i0c)i>0%)i--(
strcat'output-nameMiN()
FILES
header.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main.c
#include.header.h.
if'argc@0=(
e1it'%()
input&int0fopen'arg*M!N-.r.()
input&str0fopen'arg*M:N-.r.()
output0fopen'arg*M;N-.2.()
merge'9input&int-9input&str-9output()
fclose'input&int()
fclose'input&str()
fclose'output()
return %)
func.c
#include<header.h>
int n)
char ,s:)
2hile'!(
fscanf',input!-.8d.-9n()
fprintf',output-.8d.-n()
fgets's:-H-,input:()
fprintf',output-.8s.-s:()
fprintf',output-.4n.()
breaC)
6 FILE_BIN
header.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct
int rec&no)
int emp&id)
char ,name)
char ,department)
char ,phonenumber)
6 mployee)
main.c
#include .header.h.
#define GAP H
int main'(
mployee emp&arrayMGAPN)
mployee emp)
int num-i-ch-id&search-rec&search)
int ret&*al 0 %)
int err&*al 0 %)
char name&searchM:%N)
memset'name&search-%-:%()
printf'.4n nter the number of records you 2ant to input- it should be lesser than 8d 7 .-GAP()
scanf'.8d.-9num()
for 'i0%)i<num)i>>(
emp&arrayMiN.rec&no0'i>!()
insert'9emp&arrayMiN()
input0fopen'. mp&data.-.2b.()
if 'JU## 00 input(
return %)
ret&*al0f2rite'emp&array-siOeof' mployee(-num-input()
if'num @0 ret&*al(
ret&*al0fclose'input()
if '% @0 ret&*al(
return %)
input0fopen'. mp&data.-.rb.()
if 'JU## 00 input(
return %)
do
printf'.4n nter your choice 74n nter ! to search record by name.4n nter : to search record by +K.4n nter ; to search record by number.4n nter = to e1it 7 .()
scanf'.8d.-9ch()
fseeC'input-%-%()
if '! 00 ch(
scanf'.8s.-name&search()
2hile'!(
if '% 00 ret&*al(
err&*al 0 ferror'input()
if '% @0 err&*al(
else
breaC)
if '% 00 strcmp'emp.name-name&search((
display'9emp()
breaC)
scanf'.8d.-9id&search()
2hile'!(
if '% 00 ret&*al(
err&*al 0 ferror'input()
if '% @0 err&*al(
else
breaC)
if 'emp.emp&id 00 id&search(
display'9emp()
breaC)
scanf'.8d.-9rec&search()
2hile'!(
if '% 00 ret&*al(
err&*al 0 ferror'input()
if '% @0 err&*al(
else
breaC)
if 'emp.rec&no 00 rec&search(
display'9emp()
breaC)
else
printf'.4n 1iting..()
breaC)
62hile'ch@0=()
ret&*al0fclose'input()
if '% @0 ret&*al(
return %)
for 'i0%)i<num)i>>(
free'emp&arrayMiN.name()
emp&arrayMiN.name 0 JU##)
free'emp&arrayMiN.department()
emp&arrayMiN.department 0 JU##)
free'emp&arrayMiN.phonenumber()
emp&arrayMiN.phonenumber 0 JU##)
return %)
func.c
#include .header.h.
char emp&nameM:%N-emp&deptM:%N-emp&noM:%N)
int len&name-len&dept-len&no)
memset'emp&name-%-:%()
memset'emp&no-%-:%()
memset'emp&dept-%-:%()
<< e->phonenumber 0 %)
scanf'.8d.-9'e->emp&id(()
scanf'.8s.-emp&no()
<<printf'.pn 7 8ld.-e->phonenumber()
scanf'.8s.-emp&name()
len&no0strlen'emp&no()
<,fgets&ret 0 fgets'emp&name-!E-stdin()
if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
6,<
len&name0strlen'emp&name()
scanf'.8s.-emp&dept()
<,fgets&ret 0 fgets'emp&dept-!E-stdin()
if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
6,<
len&dept0strlen'emp&dept()
if'JU## 00 e->name(
printf'.4nGalloc "ailure..()
if'JU## 00 e->department(
printf'.4nGalloc "ailure..()
if'JU## 00 e->phonenumber(
printf'.4nGalloc "ailure..()
memset'e->name-%-len&name()
strncpy'e->name-emp&name-len&name()
memset'e->department-%-len&dept()
strncpy'e->department-emp&dept-len&dept()
memset'e->phonenumber-%-len&no()
strncpy'e->phonenumber-emp&no-len&no()
FUNC_POINTERS
prototype.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char 2ordsM:HNM:HN)
main.c
#include.prototype.h.
int main'(
int n-i)
scanf'.8d.-9n()
for'i0%)i<n)i>>(
scanf'.8s.-2ordsMiN()
ptr&comp0compare)
sort'n-compare()
return %)
func.c
#include.prototype.h.
return'strcmp'first-second(()
char tempM:HN)
memset'temp-%-:H()
int i-Q-r-inde1)
for'i0%)i<num)i>>(
inde10i)
for'Q0i>!)Q<num)Q>>(
r0strcmp'2ordsMinde1N-2ordsMQN()
if'r>%(
inde10Q)
strcpy'temp-2ordsMinde1N()
strcpy'2ordsMinde1N-2ordsMiN()
strcpy'2ordsMiN-temp()
for'i0%)i<num)i>>(
printf'.4n8s.-2ordsMiN()
printf'.4n.()
LOAN
prototype.h
#include<stdio.h>
#include<math.h>
float monthlypayment'float-float-float()
*oid displaybalance'float-float-int()
main.c
#include .prototype.h.
int main'(
float p-r)
int y)
scanf'.8f.-9p()
scanf'.8f.-9r()
scanf'.8d.-9y()
displaybalance'p-r-y()
return %)
monthlypayment.c
#include .prototype.h.
return'a,i,R()
display.c
#include .prototype.h.
int m-i)
float rm-R-mp-ip-pp-pr)
m0t,!:)
rm0''r<!:(<!%%()
pr0po2''!>rm(-m()
R0'pr<'pr-!(()
mp0monthlypayment'p-rm-R()
for 'i0!)i<0m)i>>(
printf'.4n8d4t.-i()
printf'.8f4t.-p()
printf'.8f4t.-mp()
ip0'p,rm()
printf'.8f4t.-ip()
pp0mp-ip)
printf'.8f4t.-pp()
p0p-pp)
printf'.8f4t.-p()
MAGIC
prototype.h
#include<stdio.h>
#define GAP !%
*oid get&input'int-int()
int checC&sRuare&matri1'int-int()
*oid display&matri1'int-int()
*oid is&magic&sRuare'int-int()
int aMGAPNMGAPN)
main.c
#include .prototype.h.
int main'(
int c-r-flag)
flag0%)
do
scanf'.8d.-9r()
printf'.4n nter the column siOe of the matri1 lesser than 8d 7 .-GAP()
scanf'.8d.-9c()
if'!00checC&sRuare&matri1'c-r((
flag0!)
else
62hile'flag00%()
get&input'c-r()
display&matri1'c-r()
is&magic&sRuare'c-r()
return %)
func.c
#include .prototype.h.
if'm00n(
return !)
else
return %)
int i-Q)
for'i0%)i<m)i>>(
for'Q0%)Q<n)Q>>(
scanf'.8d.-9aMiNMQN()
int i-Q)
for'i0%)i<m)i>>(
printf'.4n.()
for'Q0%)Q<n)Q>>(
printf'.8d4t.-aMiNMQN()
int i-Q-sum&diag&l-sum&diag&r-sum&ro2-sum&col-flag)
sum&diag&l0%)
for'i0%)i<m)i>>(
for'Q0%)Q<n)Q>>(
if'i00Q(
sum&diag&l>0aMiNMQN)
sum&diag&r0%)
for'i0%)i<m)i>>(
for'Q0%)Q<n)Q>>(
if''i>Q(00'n-!((
sum&diag&r>0aMiNMQN)
if 'sum&diag&l00sum&diag&l(
flag0!)
else
flag0%)
for'i0%)i<m)i>>(
sum&ro20%)
for'Q0%)Q<n)Q>>(
sum&ro2>0aMiNMQN)
if'sum&ro200sum&diag&l(
flag0!)
else
flag0%)
breaC)
for'i0%)i<m)i>>(
sum&col0%)
for'Q0%)Q<n)Q>>(
sum&col>0aMQNMiN)
if'sum&col00sum&diag&l(
flag0!)
else
flag0%)
breaC)
if'flag00!(
else
MORSE CODE
prototype.h
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define GAP :I
list.h
char ,morseMGAPNM:N0//.a.-..-.6-
/.b.-.-....6-
/.c.-.-.-..6-
/.d.-.-...6-
/.e.-...6-
/.f.-...-..6-
/.g.-.--..6-
/.h.-......6-
/.i.-....6-
/.Q.-..---.6-
/.C.-.-.-.6-
/.l.-..-...6-
/.m.-.--.6-
/.n.-.-..6-
/.o.-.---.6-
/.p.-..--..6-
/.R.-.--.-.6-
/.r.-..-..6-
/.s.-.....6-
/.t.-.-.6-
/.u.-...-.6-
/.*.-....-.6-
/.2.-..--.6-
/.1.-.-..-.6-
/.y.-.-.--.6-
/.O.-.--...66)
main.c
#include .prototype.h.
int main'(
char inputM:%N-codeM=%N)
memset'input-%-:%()
memset'code-%-=%()
int ch-l)
do
printf'.4n nter your choice 74n nter ! for ncoding.4n nter : for Kecoding.4n nter ; for 1it.4n.()
scanf'.8d.-9ch()
if'ch00!(
scanf'.8s.-input()
l0strlen'input()
if'54n500inputMl-!N(
inputMl-!N054%5)
encode'input()
else if'ch00:(
scanf'.8s.-code()
l0strlen'code()
if'54n500codeMl-!N(
codeMl-!N054%5)
decode'code()
else if'ch00;(
printf'.4n 1iting..()
62hile'ch@0;()
return %)
func.c
#include .prototype.h.
#include .list.h.
int i-l-Q)
l0strlen'string()
char codeMH%N)
memset'code-%-H%()
for'i0%)i<l)i>>(
for'Q0%)Q<:I)Q>>(
if'stringMiN 00 ,morseMQNM%N(
strcat'code-morseMQNM!N()
strcat'code-.X.()
int i-l-Q)
Q0%)
l0strlen'c()
char stringM:%N)
memset'string-%-:%()
char ,2ordM!%N)
memset'2ord-%-!%()
char delimMN0.X.)
2ordMQN0strtoC'c-delim()
printf'.4ns 7 8s.-2ordMQN()
2hile'JU## @0 2ordMQN(
for'i0%)i<GAP)i>>(
if'%00strcmp'2ordMQN-morseMiNM!N((
strcat'string-morseMiNM%N()
Q>>)
2ordMQN0strtoC'JU##-delim()
POINTERS
prototype.h
#include<stdio.h>
*oid day&modified'int-int-int()
main.c
#include .prototype.h.
int main'(
int d-m-y)
scanf'.8d.-9y()
scanf'.8d.-9m()
scanf'.8d.-9d()
day&modified'y-m-d()
return %)
day&modified.c
#include .prototype.h.
int G3JTSM!:N0/;!-:F-;!-;%-;!-;%-;!-;!-;%-;!-;%-;!6)
char, KAUMFN0/.Gonday.-.Tuesday.-.Lednesday.-.Thursday.-."riday.-.$aturday.-.$unday.6)
int countM?N0/%-%-%-%-%-%-%6)
int i-d-n-c-num-cnum-R-inde1!-inde1:-diff)
d0%)
G3JTSM!N0:E)
<<printf'.4n8d.-G3JTSM!N()
for 'i0:%%!)i<y)i>>(
d>0;II)
else
d>0;IH)
num0d)
inde1!0inde1'KAUMd8?N()
for 'i0%)i<m-!)i>>(
d>0G3JTSMiN)
d>0'day-!()
cnum0d)
inde1:0inde1'KAUMd8?N()
diff0cnum-num)
c0diff-'?-inde1!()
for'i0inde1!)i<?)i>>(
countMiN>0!)
R0'int(c<?)
for'i0%)i<?)i>>(
countMiN>0R)
for'i0%)i<0inde1:)i>>(
countMiN>0!)
for'i0%)i<?)i>>(
if's00.Gonday.(
return %)
else if's00.Tuesday.(
return !)
else if's00.Lednesday.(
return :)
else if's00.Thursday.(
return ;)
else if's00."riday.(
return =)
else if's00.$aturday.(
return H)
else if's00.$unday.(
return I)
PIGLATIN
prototype.h
#inc !"e#$t"io.h%
#inc !"e#$trin&.h%
ch'r inp!t()*+,
ch'r pi&(-*+,
ch'r o!tp!t(-*+,
.oi" &et_/or"02,
4'in.c
#inc !"e5prototype.h5
int 4'in02
4e4$et0inp!t3*3)*2,
4e4$et0pi&3*3-*2,
4e4$et0o!tp!t3*3-*2,
9&et$0inp!t38<3$t"in2,
en7=$tr en0inp!t2,
i90>:n>==inp!t( en7?7+2
inp!t( en7?7+=>:*>,
9&et$0pi&3)<3$t"in2,
en8=$tr en0pi&2,
i90>:n>==pi&( en8?7+2
pi&( en8?7+=>:*>,
&et_/or"02,
ret!rn *,
9!nc.c
#inc !"e5prototype.h5
int i,
9or0i=*,i#7*,iAA2
i90n'4e(*+==.o/e (i+2
ret!rn 7,
ret!rn *,
int i3C,
i90*==i$_.o/e 0n'4e22
9or0i=7,i# ,iAA2
o!tp!t(B+=n'4e(i+,
BAA,
o!tp!t(B+=n'4e(*+,
$trc't0o!tp!t35'y 52,
BA=-,
ret!rn B,
i907==i$_.o/e 0n'4e22
9or0i=*,i# ,iAA2
o!tp!t(B+=n'4e(i+,
BAA,
$trc't0o!tp!t35'y 52,
BA=),
ret!rn B,,
.oi" &et_/or"02
B=*,
=*,
ch'r 1/or"(D*+,
/or"(B+=$trtoC0inp!t3"e i42,
=pi& 'tin0/or"(B+3 2,
BAA,
/or"(B+=$trtoC0NULL3"e i42,
en=$tr en0o!tp!t2,
o!tp!t( en?7+=>:*>,
print905:nF$53o!tp!t2,
i90$trc4p0o!tp!t3pi&2==*2
e $e
print905:nThe $econ" $trin& i$ not the pi& 'tin o9 the 9ir$t $trin&.52,
STRUCTURES
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, S AK R "+# $
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, GACR3$
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#define GAP ;:
#define "A+#UR %
#define $UCC $$ !
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, U$ R K "+J K TUV $
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
typedef struct
char ,first&name)
char ,second&name)
6person&name&et)
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, "UCJT+3J VR3T3TUV $
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#endif
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, K $CR+VT+3J 7 Vrogram for storing first name and second name for
, a set of persons.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, S AK R "+# $
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#include .name&det&header.h.
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, #3CA# GACR3$
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#define $+Y !%
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
int main'(
person&name&et ,ptr&person)
int person&inde1 0 %)
memset'f&name-%-GAP()
memset's&name-%-GAP()
fgets&ret 0 fgets'input-GAP-stdin()
if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
ret&*al 0 "A+#UR )
breaC)
if'strncmp'input-.Ruit.-=( 00 %(
breaC)
else
if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
ret&*al 0 "A+#UR )
breaC)
if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
ret&*al 0 "A+#UR )
breaC)
ret&*al 0 update&person'9ptr&person-f&name-s&name()
if'"A+#UR 00 ret&*al(
printf'.update&person -failed4n.()
breaC)
if'"A+#UR 00 ret&*al(
else
ret&*al 0 display&person'9ptr&person-person&inde1()
if'"A+#UR 00 ret&*al(
printf'.Kisplay failed4n.()
free&person'9ptr&person()
else
free&person'9ptr&person()
person&inde1 >0 !)
6<,end of 2hile,<
return %)
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, S AK R "+# $
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
#include .name&det&header.h.
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, #3CA# "UJCT+3J$
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
return "A+#UR )
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
if'JU## 00 person(
printf'.Galloc failure4n.()
return "A+#UR )
if'JU## 00 ',person(->first&name(
printf'.Galloc failure4n.()
return "A+#UR )
if'JU## 00 ',person(->second&name(
printf'.Galloc failure4n.()
return "A+#UR )
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
name&ret update&person'
int first&len-second&len)
ret&*al0remo*e&ne2line'first&arg()
if '"A+#UR 00 ret&*al(
return "A+#UR )
first&len0strlen'first&arg()
ret&*al0remo*e&ne2line'second&arg()
if '"A+#UR 00 ret&*al(
return "A+#UR )
second&len0strlen'second&arg()
ret&*al0allocate&person'person-first&len-second&len()
if '"A+#UR 00 ret&*al(
return "A+#UR )
else
memset'',person(->first&name-%-first&len()
strncpy'',person(->first&name-first&arg-first&len()
memset'',person(->second&name-%-second&len()
strncpy'',person(->second&name-second&arg-second&len()
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
name&ret display&person'
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
name&ret free&person'
',person(->first&name0JU##)
free'',person(->first&name()
',person(->second&name0JU##)
free'',person(->second&name()
',person(0JU##)
free'',person(()
USER_DEFINED
header.h
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
int area)
int population)
char ,name)
char ,country)
char ,airport)
char ,type)
6place)
typedef enum
"A+#UR -
$UCC $$
6type&ret)
main.c
#include .header.h.
#define GAP H
int main'(
place ,place&ptr)
char ch)
int i-inde1-place&category)
inde10%)
2hile'inde1<GAP(
scanf'. 8c.-9ch()
if 'ch 00 5R5(
printf'.4n 1iting..()
breaC)
else
printf'.4nVlace 7 8d.-'inde1>!(()
printf'.4n+s it a metropolitan city or a tourist destination D 4n nter ! for Getropolitan City and : for Tourist Kestination 7 .()
scanf'.8d.-9place&category()
ret&*al0update&information'9place&ptr-place&category()
if 'ret&*al 00 "A+#UR (
breaC)
else
printf'.4nUpdate $uccessful..()
ret&*al0display&information'9place&ptr-place&category()
if 'ret&*al 00 "A+#UR (
free&place'9place&ptr-place&category()
breaC)
else
free&place'9place&ptr-place&category()
inde1 >0 !)
return %)
func.c
#include.header.h.
#define GAP$+Y :%
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
, #3CA# "UJCT+3J$
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<
if'JU## 00 arg&input(
printf'.4n rror.()
else
if'JU## 00 placeobQ(
printf'.Galloc failure4n.()
if'JU## 00 ',placeobQ(->name(
printf'.Galloc failure4n.()
if'JU## 00 ',placeobQ(->country(
printf'.Galloc failure4n.()
if 'category 00 :(
if'JU## 00 ',placeobQ(->type(
printf'.Galloc failure4n.()
if'JU## 00 ',placeobQ(->airport(
printf'.Galloc failure4n.()
char city&nameM:%N-city&countryM:%N-city&airportM:%N-city&typeM:%N)
memset'city&name-%-:%()
memset'city&country-%-:%()
memset'city&airport-%-:%()
memset'city&type-%-:%()
int len&name-len&country-len&airport-len&type-city&area-city&population)
scanf'.8s.-city&name()
remo*e&ne2line'city&name()
len&name0strlen'city&name()
if'JU## 00 ',placeobQ(->name(
printf'.Galloc failure4n.()
return "A+#UR )
6,<
scanf'.8s.-city&country()
remo*e&ne2line'city&country()
len&country0strlen'city&country()
if 'category 00 !(
scanf'.8d.-9city&area()
scanf'.8d.-9city&population()
allocate'placeobQ-len&name-len&country-%-%-category()
',placeobQ(->area0city&area)
',placeobQ(->population0city&population)
else
scanf'.8s.-city&type()
<,if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
6,<
remo*e&ne2line'city&type()
len&type0strlen'city&type()
scanf'.8s.-city&airport()
<,if'JU## 00 fgets&ret(
printf'.fgets failed4n.()
6,<
remo*e&ne2line'city&airport()
len&airport0strlen'city&airport()
allocate'placeobQ-len&name-len&country-len&type-len&airport-category()
memset'',placeobQ(->name-%-len&name()
strncpy'',placeobQ(->name-city&name-len&name()
memset'',placeobQ(->country-%-len&country()
strncpy'',placeobQ(->country-city&country-len&country()
if 'category 00 :(
memset'',placeobQ(->type-%-len&type()
strncpy'',placeobQ(->type-city&type-len&type()
memset'',placeobQ(->airport-%-len&airport()
strncpy'',placeobQ(->airport-city&airport-len&airport()
if 'JU## 00 place&obQ(
printf'.4n rror.()
return "A+#UR )
printf'.4nJame 7 8s.-',place&obQ(->name()
printf'.4nCountry 7 8s.-',place&obQ(->country()
if 'category 00 !(
printf'.4nGetrolopolitan City..()
printf'.4nArea 7 8d.-',place&obQ(->area()
printf'.4nVopulation 7 8d.-',place&obQ(->population()
else
printf'.4nTourist Kestination..()
printf'.4nType 7 8s.-',place&obQ(->type()
',place&obQ(->name 0 JU##)
free'',place&obQ(->name()
',place&obQ(->country 0 JU##)
free'',place&obQ(->country()
if 'category 00 :(
',place&obQ(->type 0 JU##)
free'',place&obQ(->type()
',place&obQ(->airport 0 JU##)
free'',place&obQ(->airport()
free',place&obQ()
GARIABLE ARGUMENT
header.h
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
main.c
#include.header.h.
int main'(
concat&str'.git.-.anQali.-.Ruit.()
concat&str'.git.-.anQali.-. singh.-.Ruit.()
return %)
func.c
#include.header.h.
char ,output-,temp)
int len-len!)
*a&list *)
*a&start'*-str()
len0strlen'str()
if 'JU## 00 output(
memset'output-%-len()
strncpy'output-str-len()
2hile'% @0 strncmp'str-.Ruit.-=((
if'% 00 strncmp'str-.Ruit.-=((
breaC)
len! 0 strlen'str()
if 'JU## @0 temp(
output0temp)
strncat'output-str-len!()
free'temp()
temp 0 JU##)
<<free'output()
output 0 JU##)
header.h
#include<stdio.h>
#include<stdlib.h>
struct node
int data)
6)
main.c
#include .header.h.
int main'(
int ch-ch&ins-ch&del-flag)
flag0%)
do
printf'.4n nter your choice.4n nter ! for insertion.4n nter : for deletion.4n nter ; for display.4n nter = to e1it 7 .()
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 printf'.4n nter ! to insert at the end -: to insert at the begining and ; to insert after a node 7 .()
scanf'.8d.-9ch&ins()
insertion'9head-ch&ins()
breaC)
case : 7 printf'.4n nter ! to delete at the begining-: to delete at the end and ; to delete a particular node 7 .()
scanf'.8d.-9ch&del()
deletion'9head-ch&del()
breaC)
case ; 7 display'head()
breaC)
case = 7 free&node'head()
printf'.4n 1iting.()
flag0!)
breaC)
62hile'flag00%()
return %)
func.c
#include .header.h.
node, createnode'(
int *al)
node ,ne2node)
ne2node0'node ,(malloc'siOeof'node(()
if'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
e1it'%()
scanf'.8d.-9*al()
ne2node->data 0 *al)
ne2node->ne1t 0 JU##)
return ne2node)
node ,ne2node-,temp-,ins)
temp 0 ,head)
int *al)
ne2node 0 createnode'()
if 'JU## 00 ne2node(
if 'JU## 00 ,head(
,head0ne2node)
',head(->ne1t0ne2node)
else
if'! 00 ch(
2hile'JU## @0 temp->ne1t(
temp0temp->ne1t)
temp->ne1t0ne2node)
ne2node->ne1t 0 ,head)
,head 0 ne2node)
else
printf'.4n nter the *alue of the node after 2hich you 2ould liCe to insert a ne2 node 7 .()
scanf'.8d.-9*al()
temp0temp->ne1t)
ins0temp->ne1t)
temp->ne1t0ne2node)
ne2node->ne1t0ins)
node ,ne2node-,temp-,del)
temp 0 ,head)
int *al)
if 'JU## 00 ,head(
free',head()
',head( 0 JU##)
else
if '! 00 ch(
temp 0 ',head(->ne1t)
free',head()
,head 0 temp)
temp0temp->ne1t)
free'temp->ne1t()
temp->ne1t0JU##)
else
printf'.4n nter the *alue of the node 2hich you 2ould liCe to delete 7 .()
scanf'.8d.-9*al()
temp0temp->ne1t)
del0temp->ne1t)
temp->ne1t 0 temp->ne1t->ne1t)
free'del()
del 0 JU##)
2hile'JU## @0 head->ne1t(
head0head->ne1t)
printf'.8d.-head->data()
printf'.4n.()
node ,temp)
temp 0 head)
2hile'JU## @0 head->ne1t(
temp 0 head->ne1t)
head->ne1t 0 head->ne1t->ne1t)
free'temp()
temp 0 JU##)
free'head()
head 0 JU##)
header.h
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
int emp&id)
char ,emp&name)
6)
node, createnode'()
main.c
#include .header.h.
int main'(
int ch-ch&ins-ch&del-flag-*al-*al!)
flag0%)
do
printf'.4n nter your choice.4n nter ! for insertion.4n nter : for deletion.4n nter ; for display.4n nter = to e1it 7 .()
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 printf'.4n nter ! to insert at the end -: to insert at begining and ; to insert after a node 7 .()
scanf'.8d.-9ch&ins()
if '! 00 ch&ins(
insert&at&end'9head-9tail()
insert&at&begin'9head-9tail()
else
printf'.4n nter the employee id after 2hich you 2ant to insert the ne2 node 7 .()
scanf'.8d.-9*al()
insert&at&*alue'9head-9tail-*al()
breaC)
case : 7 printf'.4n nter ! to delete at the end-: to delete at the begining and ; to delete a particular node 7 .()
scanf'.8d.-9ch&del()
if '! 00 ch&del(
delete&at&end'9head-9tail()
delete&at&begin'9head-9tail()
else
printf'.4n nter the employee id after 2hich you 2ant to delete 7 .()
scanf'.8d.-9*al!()
delete&at&*alue'9head-9tail-*al!()
breaC)
case ; 7 display'head()
breaC)
case = 7 free&node'head()
printf'.4n 1iting4n.()
flag0!)
breaC)
62hile'flag00%()
return %)
func.c
#include .header.h.
#define GAP :%
node, createnode'(
node, ne2node)
char nameMGAPN)
int len 0 %)
memset'name-%-GAP()
if 'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
ne2node->emp&id 0 %)
scanf'.8d.-9ne2node->emp&id()
scanf'.8s.-name()
<,fgets&ret 0 fgets'name-!E-stdin()
if 'JU## 00 fgets&ret(
printf'.4n"gets failure..()
6,<
len 0 strlen'name()
nameMlen-!N 0 54%5)
6,<
ne2node->emp&name 0 JU##)
if 'JU## 00 ne2node->emp&name(
printf'.4nGalloc "ailure..()
memset'ne2node->emp&name-%-len()
strncpy'ne2node->emp&name-name-len()
ne2node->pre* 0 JU##)
ne2node->ne1t 0 JU##)
return ne2node)
node ,ne2node)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head0ne2node)
,tail0ne2node)
else
',tail(->ne1t 0 ne2node)
ne2node->pre* 0 ,tail)
,tail 0 ne2node)
node ,ne2node)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head 0 ne2node)
,tail 0 ne2node)
else
',head(->pre* 0 ne2node)
ne2node->ne1t 0 ,head)
,head 0 ne2node)
node ,ne2node-,temp)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head 0 ne2node)
,tail 0 ne2node)
else
temp 0 ,head)
temp0temp->ne1t)
if 'JU## 00 temp(
breaC)
ne2node->ne1t 0 temp->ne1t)
ne2node->pre* 0 temp)
temp->ne1t 0 ne2node)
ne2node->ne1t->pre* 0 ne2node)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,tail)
,tail 0 ',tail(->pre*)
',tail(->ne1t 0 JU##)
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,head)
,head 0 ',head(->ne1t)
',head(->pre* 0 JU##)
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,head)
2hile'*al @0 del->emp&id(
del 0 del->ne1t)
if 'JU## 00 del(
breaC)
del->pre*->ne1t 0 del->ne1t)
del->ne1t->pre* 0 del->pre*)
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
if 'JU## 00 head(
else
printf'.8d.-head->emp&id()
head 0 head->ne1t)
printf'.8d.-head->emp&id()
printf'. 8s4n.-head->emp&name()
node, temp)
if 'JU## 00 head(
temp 0 head->ne1t)
if 'JU## 00 temp->ne1t(
free'temp->emp&name()
temp->emp&name 0 JU##)
free'temp()
temp 0 JU##)
head->ne1t 00 JU##)
breaC)
head->ne1t 0 head->ne1t->ne1t)
head->ne1t->pre* 0 head)
free'temp->emp&name()
temp->emp&name 0 JU##)
free'temp()
temp 0 JU##)
free'head->emp&name()
head->emp&name 0 JU##)
free'head()
head 0 JU##)
STACHS
he'"er.h
#inc !"e#$t"io.h%
$tr!ct no"e
ch'r "'t',
@,
no"e1 cre'teno"e0ch'r2,
4'in.c
#"e9ine MAK 7D
ch'r $tr(MAK+,
ch'r re.(MAK+,
int i3 en,
Ioo I = tr!e,
i90'r&cE=)2
eJit0*2,
inp = 9open0'r&.(7+35r52,
i9 0NULL == inp2
eJit0*2,
o!t = 9open0'r&.(8+35/52,
i9 0NULL == o!t2
eJit0*2,
/hi e0I2
4e4$et0$tr3*37D2,
4e4$et0re.3*37D2,
en = *,
0.oi"29&et$0$tr37D3inp2,
en = 0int2$tr en0$tr2,
p!$h0Ohe'"3$tr(i+2,
re.(i+ = pop0Ohe'"2,
i9 0* == $trnc4p0$tr3re.30$iMe_t2 en22
9print90o!t35F$53$tr2,
9print90o!t35:n52,
9ree0he'"2,
he'" = NULL,
i9 0* E= 9eo90inp22
Ire'C,
0.oi"29c o$e0inp2,
0.oi"29c o$e0o!t2,
ret!rn *,
9!nc.c
no"e1 cre'teno"e0ch'r c2
no"e 1ne/no"e,
i90NULL == ne/no"e2
eJit0*2,
ne/no"e?%"'t' = c,
ne/no"e?%neJt = NULL,
ret!rn ne/no"e,
i9 0NULL == ne/no"e2
eJit0*2,
i9 001he'"2 == NULL2
01he'"2 = ne/no"e,
e $e
ne/no"e?%neJt = 01he'"2,
01he'"2 = ne/no"e,
no"e 1te4p,
ch'r c,
i9 0NULL == 01he'"22
print905:nLi$t e4pty.52,
ret!rn >*>,
e $e
te4p = 01he'"2?%neJt,
c = 01he'"2?%"'t',
9ree01he'"2,
1he'" = te4p,
ret!rn c,
no"e 1te4p,
te4p = 01he'"2,
te4p = 01he'"2?%neJt,
01he'"2?%neJt = 01he'"2?%neJt?%neJt,
9ree0te4p2,
te4p = NULL,
9ree01he'"2,
01he'"2 = NULL,
@1L
header.h
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
int emp&id)
char ,emp&name)
6)
node, createnode'()
main.c
#include .header.h.
int main'(
int ch-ch&ins-ch&del-flag-*al-*al!)
flag0%)
do
printf'.4n nter your choice.4n nter ! for insertion.4n nter : for deletion.4n nter ; for display.4n nter = to e1it 7 .()
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 printf'.4n nter ! to insert at the end -: to insert at begining and ; to insert after a node 7 .()
scanf'.8d.-9ch&ins()
if '! 00 ch&ins(
insert&at&end'9head-9tail()
insert&at&begin'9head-9tail()
else
printf'.4n nter the employee id after 2hich you 2ant to insert the ne2 node 7 .()
scanf'.8d.-9*al()
insert&at&*alue'9head-9tail-*al()
breaC)
case : 7 printf'.4n nter ! to delete at the end-: to delete at the begining and ; to delete a particular node 7 .()
scanf'.8d.-9ch&del()
if '! 00 ch&del(
delete&at&end'9head-9tail()
delete&at&begin'9head-9tail()
else
printf'.4n nter the employee id after 2hich you 2ant to delete 7 .()
scanf'.8d.-9*al!()
delete&at&*alue'9head-9tail-*al!()
breaC)
case ; 7 display'head()
breaC)
case = 7 free&node'head()
printf'.4n 1iting4n.()
flag0!)
breaC)
62hile'flag00%()
return %)
func.c
#include .header.h.
#define GAP :%
node, createnode'(
node, ne2node)
char nameMGAPN)
int len 0 %)
memset'name-%-GAP()
if 'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
ne2node->emp&id 0 %)
scanf'.8d.-9ne2node->emp&id()
scanf'.8s.-name()
<,fgets&ret 0 fgets'name-!E-stdin()
if 'JU## 00 fgets&ret(
printf'.4n"gets failure..()
6,<
len 0 strlen'name()
nameMlen-!N 0 54%5)
6,<
ne2node->emp&name 0 JU##)
if 'JU## 00 ne2node->emp&name(
printf'.4nGalloc "ailure..()
memset'ne2node->emp&name-%-len()
strncpy'ne2node->emp&name-name-len()
ne2node->pre* 0 JU##)
ne2node->ne1t 0 JU##)
return ne2node)
node ,ne2node)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head0ne2node)
,tail0ne2node)
else
',tail(->ne1t 0 ne2node)
ne2node->pre* 0 ,tail)
,tail 0 ne2node)
',tail(->ne1t 0 ',head()
',head(->pre* 0 ',tail()
node ,ne2node)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head 0 ne2node)
,tail 0 ne2node)
else
',head(->pre* 0 ne2node)
ne2node->ne1t 0 ,head)
,head 0 ne2node)
',head(->pre* 0 ',tail()
',tail(->ne1t 0 ',head()
node ,ne2node-,temp)
ne2node 0 createnode'()
if 'JU## 00 ,head(
,head 0 ne2node)
,tail 0 ne2node)
else
temp 0 ,head)
temp0temp->ne1t)
if 'JU## 00 temp(
breaC)
ne2node->ne1t 0 temp->ne1t)
ne2node->pre* 0 temp)
temp->ne1t 0 ne2node)
ne2node->ne1t->pre* 0 ne2node)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,tail)
,tail 0 ',tail(->pre*)
',tail(->ne1t 0 ',head()
',head(->pre* 0 ',tail()
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,head)
,head 0 ',head(->ne1t)
',head(->pre* 0 ',tail()
',tail(->ne1t 0 ',head()
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
node ,del)
if 'JU## 00 ,head(
else
del 0 ,head)
2hile'*al @0 del->emp&id(
del 0 del->ne1t)
if 'JU## 00 del(
breaC)
del->pre*->ne1t 0 del->ne1t)
del->ne1t->pre* 0 del->pre*)
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
node ,temp)
temp 0 head)
if 'JU## 00 head(
else
printf'.8d.-temp->emp&id()
temp 0 temp->ne1t)
printf'.8d.-temp->emp&id()
printf'.8d.-temp->ne1t->emp&id()
printf'. 8s4n.-temp->ne1t->emp&name()
node ,temp-,temp!-,del)
temp! 0 head)
temp 0 head)
if 'JU## 00 head(
del 0 temp->ne1t)
free'temp->emp&name()
temp->emp&name 0 JU##)
free'temp()
temp 0 JU##)
head->ne1t 00 JU##)
breaC)
6,<
temp->ne1t 0 temp->ne1t->ne1t)
temp->ne1t->pre* 0 temp)
temp! 0 temp->ne1t)
free'del->emp&name()
del->emp&name 0 JU##)
free'del()
del 0 JU##)
free'temp!->emp&name()
temp!->emp&name 0 JU##)
free'temp!()
temp! 0 JU##)
free'head->emp&name()
head->emp&name 0 JU##)
<<free'head()
<<head 0 JU##)
header.h
#include<stdio.h>
#include<stdlib.h>
struct node
int data)
6)
main.c
#include .header.h.
int main'(
int ch-ch&ins-ch&del-flag)
flag0%)
do
printf'.4n nter your choice.4n nter ! for insertion.4n nter : for deletion.4n nter ; for display.4n nter = to e1it 7 .()
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 printf'.4n nter ! to insert at the end -: to insert at the begining and ; to insert after a node 7 .()
scanf'.8d.-9ch&ins()
insertion'9head-ch&ins()
breaC)
case : 7 printf'.4n nter ! to delete at the begining-: to delete at the end and ; to delete a particular node 7 .()
scanf'.8d.-9ch&del()
deletion'9head-ch&del()
breaC)
case ; 7 display'head()
breaC)
case = 7 free&node'head()
printf'.4n 1iting.()
flag0!)
breaC)
62hile'flag00%()
return %)
func.c
#include .header.h.
node, createnode'(
int *al)
node ,ne2node)
ne2node0'node ,(malloc'siOeof'node(()
if'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
e1it'%()
scanf'.8d.-9*al()
ne2node->data 0 *al)
ne2node->ne1t 0 JU##)
return ne2node)
node ,ne2node-,temp-,ins)
temp 0 ,head)
int *al)
ne2node 0 createnode'()
if 'JU## 00 ne2node(
if 'JU## 00 ,head(
,head0ne2node)
',head(->ne1t 0 ne2node)
ne2node->ne1t 0 ',head()
else
if'! 00 ch(
2hile'',head( @0 temp->ne1t(
temp0temp->ne1t)
temp->ne1t0ne2node)
ne2node->ne1t 0 ',head()
ne2node->ne1t 0 ,head)
2hile'',head( @0 temp->ne1t(
temp0temp->ne1t)
,head 0 ne2node)
temp->ne1t 0 ',head()
else
printf'.4n nter the *alue of the node after 2hich you 2ould liCe to insert a ne2 node 7 .()
scanf'.8d.-9*al()
temp0temp->ne1t)
ins0temp->ne1t)
temp->ne1t0ne2node)
ne2node->ne1t0ins)
node ,ne2node-,temp-,del)
temp 0 ,head)
int *al)
if 'JU## 00 ,head(
free',head()
',head( 0 JU##)
else
if '! 00 ch(
del 0 ',head()
2hile'',head( @0 temp->ne1t(
temp0temp->ne1t)
',head( 0 ',head(->ne1t)
temp->ne1t 0 ',head()
free'del()
del 0 JU##)
temp0temp->ne1t)
del 0 temp->ne1t)
temp->ne1t 0 ',head()
free'del()
del0JU##)
else
printf'.4n nter the *alue of the node 2hich you 2ould liCe to delete 7 .()
scanf'.8d.-9*al()
temp 0 temp->ne1t)
del 0 temp->ne1t)
temp->ne1t 0 temp->ne1t->ne1t)
free'del()
del 0 JU##)
node ,temp)
temp 0 head)
2hile'head @0 temp->ne1t(
temp0temp->ne1t)
printf'.8d.-temp->ne1t->data()
printf'.4n.()
node ,temp-,temp!)
temp! 0 head)
2hile'head @0 temp!->ne1t(
temp 0 head->ne1t)
temp!->ne1t 0 temp!->ne1t->ne1t)
free'temp()
temp 0 JU##)
free'temp!()
temp! 0 JU##)
<<free'head()
<<head 0 JU##)
PUEUE CIRCULAR
header.h
#include<stdio.h>
#include<stdlib.h>
main.c
#include .header.h.
#define $+Y H
int main'(
int RueueM$+Y N)
int front-rear-ch)
char c)
front 0 %)
rear 0 -!)
do
scanf'.8d.-9ch()
if '! 00 ch(
do
insert'Rueue-$+Y -9front-9rear()
scanf'. 8c.-9c()
do
del'Rueue-$+Y -9front-9rear()
scanf'. 8c.-9c()
display'Rueue-$+Y -9front-9rear()
else
printf'.4n 1iting.4n.()
e1it'%()
return %)
func.c
#include .header.h.
int n)
printf'.4nWueue 3*erflo2..()
else
scanf'.8d.-9n()
RueueM',rear(N 0 n)
',rear( >>)
RueueM',rear(N 0 n)
if '-! 00 ',rear((
printf'.4nWueue Underflo2..()
else
RueueM',front(N 0 %)
',front( >>)
int i)
printf'.4n8d.-RueueMiN()
printf'.4n8d.-RueueMiN()
PUEUE PRIORITQ
header.h
#include<stdio.h>
struct node
int pri)
char data)
6)
node, createnode'()
main.c
#include .header.h.
int main'(
node ,front-,rear)
front 0 JU##)
rear 0 JU##)
int ch)
do
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 insert'9front-9rear()
breaC)
case : 7 del'9front-9rear()
breaC)
case ; 7 display'9front()
breaC)
case = 7 free&node'9front-9rear()
<<free'rear()
<<rear 0 JU##)
e1it'%()
breaC)
62hile'ch@0=()
return %)
func.c
#include .header.h.
node, createnode'(
int *al)
char c)
node ,ne2node)
ne2node0'node ,(malloc'siOeof'node(()
if'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
e1it'%()
scanf'. 8c.-9c()
scanf'.8d.-9*al()
ne2node->data 0 c)
ne2node->pri 0 *al)
ne2node->ne1t 0 JU##)
return ne2node)
node ,ne2node-,temp-,temp!)
temp 0 ',front()
ne2node 0 createnode'()
if 'JU## 00 ',front((
,front 0 ne2node)
,rear 0 ne2node)
',front(->ne1t 0 ne2node)
',rear( 0 ne2node)
if'ne2node->pri >',front(->pri(
',front( 0 ne2node)
ne2node->ne1t 0 temp)
',rear( 0 temp)
',rear(->ne1t 0 JU##)
else
<<',rear(->ne1t 0 ne2node)
<<',rear( 0 ne2node)
',front( 0 ne2node)
',front(->ne1t 0 temp)
else
temp! 0 temp->ne1t)
temp->ne1t 0 ne2node)
ne2node->ne1t 0 temp!)
breaC)
temp 0 temp->ne1t)
temp 0 ',front()
temp0 temp->ne1t)
',rear( 0 temp)
node ,temp)
if 'JU## 00 ',front((
printf'.4nWueue underflo2..()
else
temp 0 ',front()
',front( 0 ',front(->ne1t)
free'temp()
temp 0 JU##)
printf'.4nKisplaying Wueue.4n.()
printf'.8c-8d->.-temp->data-temp->pri()
temp 0 temp->ne1t)
printf'.8c-8d4n.-temp->data-temp->pri()
node ,temp)
temp 0 ',front(->ne1t)
free',front()
',front( 0 JU##)
',front( 0 temp)
free'',rear(()
',rear( 0 JU##)
TREE
header.h
#include<stdio.h>
#include<stdlib.h>
struct node
int data)
6)
node, createnode'()
main.c
#include .header.h.
int main'(
int ch-*al)
do
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 insert'9root()
breaC)
scanf'.8d.-9*al()
search'9root-*al()
breaC)
case ; 7 le*el&order'root()
inorder'root()
breaC)
case = 7 postorder&free'root()
printf'.4n 1iting4n.()
e1it'%()
62hile 'ch@0=()
return %)
func.c
#include .header.h.
#define $+Y I
node, createnode'(
node ,ne2node)
if 'JU## 00 ne2node(
printf'.4nGalloc "ailure..()
e1it'%()
scanf'.8d.-9'ne2node->data(()
ne2node->left 0 JU##)
ne2node->right 0 JU##)
return ne2node)
node ,temp)
if 'JU## 00 ',root((
',root( 0 ne2node)
else
temp 0 ',root()
2hile'!(
if 'JU## 00 temp->left(
temp->left 0 ne2node)
breaC)
temp 0 temp->left)
if 'JU## 00 temp->right(
temp->right 0 ne2node)
breaC)
temp 0 temp->right)
node ,t0',root()
node ,t!)
if 'JU## 00 t(
return)
t! 0 t)
t 0 t->right)
t! 0 t)
t 0 t->left)
if 'JU## 00 t(
return)
del&case%'9t-9t!()
del&case!left'9t-9t!()
del&case!right'9t-9t!()
del&case:'9t-9t!()
if '',t!(->left 00 ',t((
',t!(->left 0 JU##)
else
',t!(->right 0 JU##)
free',t()
',t( 0 JU##)
if '',t!(->left 00 ',t((
',t!(->left 0 ',t(->left)
else
',t!(->right 0 ',t(->left)
free',t()
',t( 0 JU##)
if '',t!(->left 00 ',t((
',t!(->left 0 ',t(->right)
else
',t!(->right 0 ',t(->right)
free',t()
',t( 0 JU##)
node ,temp-,parent)
int C)
parent 0 ',t()
temp 0 ',t(->right)
parent 0 temp)
temp 0 temp->left)
C 0 ',t(->data)
',t(->data 0 temp->data)
temp->data 0 C)
parent->right 0 JU##)
free'temp()
temp 0 JU##)
del&case!right'9temp-9parent()
node ,temp)
temp 0 root)
if 'JU## @0 temp(
inorder'temp->left()
printf'.8d-.-temp->data()
inorder'temp->right()
node ,RueueM$+Y N)
int front-rear)
front 0 %)
rear 0 %)
RueueMrearN 0 root)
<<rear >0 !)
do
printf'.8d- .-RueueMfrontN->data()
temp 0 RueueMfrontN)
front 0 -!)
front >>)
if 'JU## @0 temp->left(
rear 0 -!)
rear>>)
RueueMrearN 0 temp->left)
if 'JU## @0 temp->right(
rear 0 -!)
rear>>)
RueueMrearN 0 temp->right)
printf'.8d.-RueueMfrontN->data()
if 'JU## @0 root(
postorder&free'root->left()
postorder&free'root->right()
free'root()
root 0 JU##)
RASRING
header.h
#include<stdio.h>
#include<stdlib.h>
#define $+Y H
struct de*ice
int de*ice&id)
char ,de*ice&type)
6)
struct presence
int id)
char ,name)
de*ice d)
6)
int hash'int()
main.c
#include.header.h.
int main'(
presence ,aopM$+Y N)
int i-num)
aopMiN 0 JU##)
do
scanf'.8d.-9num()
s2itch'num(
case ! 7 insert'aop()
breaC)
case : 7 display'aop()
breaC)
case ; 7 free&node'aop()
printf'.4n 1iting..()
e1it'%()
return %)
func.c
#include.header.h.
int num-i-len&name-len&de*-C)
char name&strM:%N)
char de*&typeM:%N)
memset'name&str-%-:%()
memset'de*&type-%-:%()
presence ,node)
len&name 0 %)
len&de* 0 %)
scanf'.8d.-9num()
for 'i0%)i<num)i>>(
if 'JU## 00 node(
printf'.4nGalloc "ailure..()
return )
scanf'.8s.-name&str()
len&name0strlen'name&str()
name&strMlen&nameN054%5)
if 'JU## 00 node->name(
printf'.4nGalloc "ailure..()
return )
memset'node->name-%-len&name()
scanf'.8s.-de*&type()
len&de*0strlen'de*&type()
de*&typeMlen&de*N054%5)
if 'JU## 00 node->d.de*ice&type(
printf'.4nGalloc "ailure..()
return )
memset'node->d.de*ice&type-%-len&de*()
node->id 0 %)
scanf'.8d.-9'node->id(()
strncpy'node->name-name&str-len&name()
node->d.de*ice&id 0 %)
scanf'.8d.-9'node->d.de*ice&id(()
strncpy'node->d.de*ice&type-de*&type-len&de*()
node->ne1t 0 JU##)
C 0 hash'node->id()
if 'JU## 00 ptrMCN(
ptrMCN 0 node)
else
node->ne1t 0 ptrMCN)
ptrMCN 0 node)
int hash'int n(
return 'n8$+Y ()
int i)
presence ,temp0JU##)
temp 0 ptrMiN)
printf'.4n+K 7 8d.-temp->id()
printf'.4nJAG 7 8s.-temp->name()
temp 0 temp->ne1t)
temp 0 JU##)
printf'.4n.()
int i)
presence ,temp-,temp!)
temp 0ptrMiN)
2hile'JU## @0 temp(
free'temp->name()
temp->name 0 JU##)
free'temp->d.de*ice&type()
temp->d.de*ice&type 0 JU##)
temp!0temp)
temp 0 temp!->ne1t)
free'temp!()
temp! 0 JU##)
header.h
#include<stdio.h>
#define GAP !H
main.c
#include .header.h.
int main'(
int aMGAPN)
int siOe-num-i-ch)
scanf'.8d.-9siOe()
for 'i0%)i<siOe)i>>(
scanf'.8d.-9aMiN()
display'a-siOe()
printf'.4n nter ! to sort by bubble sort- : to sort by insertion sort and ; to sort by RuicCsort 7 .()
scanf'.8d.-9ch()
s2itch'ch(
case ! 7 bubble&sort'a-siOe()
display'a-siOe()
breaC)
case : 7 insertion&sort'a-siOe()
display'a-siOe()
breaC)
case ; 7 RuicCsort'a-%-siOe-!()
display'a-siOe()
breaC)
scanf'.8d.-9num()
bin&search'a-siOe-num()
return %)
func.c
#include.header.h.
int i-Q-temp)
for 'i0%)i<siOe)i>>(
for 'Q0i>!)Q<siOe)Q>>(
temp 0 aMiN)
aMiN 0 aMQN)
aMQN 0 temp)
int i-Q-temp)
for 'i0%)i<siOe)i>>(
temp 0 aMiN)
Q 0 i-!)
aMQ>!N 0 aMQN)
Q 0 Q-!)
aMQ>!N 0 temp)
int pi*ot-i-Q-temp-pi*ot&item)
if 'first<last(
pi*ot 0 first)
i 0 first)
Q 0 last)
pi*ot&item 0 aMfirstN)
2hile 'i<Q(
i >0 !)
Q -0 !)
if 'i < Q(
temp 0 aMiN)
aMiN 0 aMQN)
aMQN 0 temp)
aMfirstN 0 aMQN)
aMQN 0 pi*ot&item)
RuicCsort'a-first-Q-!()
RuicCsort'a-Q>!-last()
int i)
for 'i0%)i<siOe)i>>(
printf'.8d4t.-aMiN()
int lo2er-upper-middle-flag)
flag 0 %)
lo2er 0 %)
upper 0 siOe-!)
middle 0 'lo2er>upper(<:)
if 'num 00 aMmiddleN(
flag0!)
breaC)
upper 0 middle-!)
else
lo2er 0 middle>!)
if '% 00 flag(
else
int pi.ot3i3B3te4p3pi.ot_ite4,
i = 9ir$t,
B = '$t,
pi.ot_ite4 = '(pi.ot+,
i9 09ir$t% '$t2
ret!rn,
/hi e 0i #= B2
i A= 7,
B ?= 7,
i9 0i #= B2
te4p = '(i+,
'(i+ = '(B+,
'(B+ = te4p,
iAA,
B??,
S!icC$ort0'39ir$t3B2,
S!icC$ort0'3i3 '$t2,