Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
{\fonttbl
{\f0\froman times new roman;}}
{\colortbl\red0\green0\blue0;}
\jexpand\viewkind1\viewscale100
{\shp{\*\shpinst\shpleft1586\shptop4826\shpright10226\shpbottom4826\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2028\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 8640}}
{\sp{\sn geoBottom}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;2;(0,0);(8640,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;5;16384;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 50792}}
{\sp{\sn lineColor}{\sv 13421772}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 13421772}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft1586\shptop4680\shpright3986\shpbottom4880\shpfhdr0\shpw
r3\shpwrk0\shpfblwtxt1\shplid2029\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 2400}}
{\sp{\sn geoBottom}{\sv 200}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,200);(2400,200);(2400,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 1}}
{\sp{\sn fillColor}{\sv 11711154}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft1586\shptop3426\shpright10226\shpbottom3426\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2030\shpz2\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 8640}}
{\sp{\sn geoBottom}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;2;(0,0);(8640,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;5;16384;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
1520);(120,1533);(146,1546);(160,1546);(186,1560);(200,1560);(226,1560);(240,157
3);(266,1573);(8360,1573);(8386,1573);(8413,1560);(8426,1560);(8453,1560);(8466,
1546);(8493,1546);(8506,1533);(8520,1520);(8533,1506);(8546,1493);(8573,1480);(8
573,1466);(8586,1440);(8600,1426);(8613,1413);(8613,1386);(8626,1373);(8626,1346
);(8626,1333);(8626,1306);(8626,266);(8626,240);(8626,226);(8626,200);(8613,186)
;(8613,160);(8600,146);(8586,120);(8573,106);(8573,93);(8546,80);(8533,66);(8520
,53);(8506,40);(8493,26);(8466,26);(8453,13);(8426,13);(8413,0);(8386,0);(8360,0
);(266,0);(240,0);(226,0);(200,13);(186,13);(160,26);(146,26);(120,40);(106,53);
(93,66);(80,80);(66,93);(53,106);(40,120);(26,146);(26,160);(13,186);(13,200);(0
,226);(0,240);(0,266);}}
{\sp{\sn pSegmentInfo}{\sv 2;172;16384;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;4
5824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;1;45824;245
77;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn666\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li36
66\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf
0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult
0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li36
66\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf
0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult
0 \fs18\cf0\par\pard\li3666\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl213\slmult0 \fs18\cf0\par\pard\li3666\ri0\sl-360\slmult0 \fs22\cf0\f0\charscalex
100 {NOTE TO THE USER}\par\pard\li1040\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1
040\ri0\sl-280\slmult0 \fs22\cf0\f0\charscalex100 {This CD-ROM contains chapterwise program examples with source code. These are in addition to}\par\pard\li104
0\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {those given in the text. We hop
e the user finds them useful in enhancing his understanding of the text}\par\par
d\li1040\ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex100 {and also in developing h
is programming skills using C.}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft3026\shptop3960\shpright9760\shpbottom7013\shpfhdr0\shpw
r3\shpwrk0\shpfblwtxt1\shplid2033\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
\fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-2
13\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li518
6\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\
pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs1
8\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\sl
mult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0
\sl-213\slmult0 \fs18\cf0\par\pard\li5186\ri0\sl-213\slmult0 \fs18\cf0\par\pard\
li5186\ri0\sl-333\slmult0 \fs18\cf0\f0\charscalex100 {4}\par\pard\sect\sectd\sbk
page
{\shp{\*\shpinst\shpleft2546\shptop4733\shpright9266\shpbottom15640\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2037\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10907}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10906);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li41
33\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-373\slmult0 \fs22\cf
0\f0\charscalex100 {CHAPTER 3}\par\pard\li2346\ri0\sl-280\slmult0 \fs22\cf0\f0\c
harscalex100 {CONSTANTS, VARIABLES, AND DATA TYPES}\par\pard\li1226\ri0\sl-466\s
lmult0 \fs22\cf0\f0\charscalex100 {1. Program shows the usage of the size of key
word in C to get the storage space used by various}\par\pard\li1520\ri0\sl-266\s
lmult0 \fs22\cf0\f0\charscalex100 {data types. Note that the results are differe
nt for a 16-bit environment (such as DOS) and 32-bit}\par\pard\li1520\ri0\sl-266
\slmult0 \fs22\cf0\f0\charscalex100 {environment (such as Windows).}\par\pard\li
2360\ri0\sl-306\slmult0 \fs12\cf0\f0\charscalex100 {/***************************
*************************************/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16
\cf0\f0\charscalex100 {/* Program to demonstrate the storage space used by data
types */}\par\pard\li2360\ri0\sl-226\slmult0 \fs12\cf0\f0\charscalex100 {/******
**********************************************************/}\par\pard\li2360\ri0
\sl-426\slmult0 \fs16\cf0\f0\charscalex100 {main()}\par\pard\li2360\ri0\sl-226\s
lmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\
cf0\f0\charscalex100 {
pri}\fs16\cf0\f0\charscalex100 {ntf("\\nStorage space
(in bits) for various data types (32-bit environment)");}\par\pard\li2360\ri0\sl
-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {printf
("\\n--------------------------------------------------------------------");}\pa
r\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\c
harscalex100 {printf("\\nint}\fs16\cf0\f0\charscalex100 {
%}\fs1
6\cf0\f0\charscalex100 {5d",sizeof(int)*8);}\par\pard\li2360\ri0\sl-213\slmult0
\fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {printf("\\nsigned i
nt}\fs16\cf0\f0\charscalex100 {
%}\fs16\cf0\f0\charscalex100 {5d",sizeo
par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop8960\shpright9253\shpbottom14173\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2038\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 5213}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,5213);(6706,5213);(6706,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2546\shptop-3866\shpright9266\shpbottom7026\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2039\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10892}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10906);(0,10906);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li23
60\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-413\slmult0 \fs16\cf
0\f0\charscalex100 {Storage space (in bits) for various data types (32-bit envir
onment)}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {-------------------------------------------------------------------}\par\pard\li2360\ri
0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {int
32
}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {signed int}\fs1
6\cf0\f0\charscalex100 {
32}\par\pard\li2360\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 {unsigned int}\fs16\cf0\f0\charscalex100 {
32}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {short i
nt}\fs16\cf0\f0\charscalex100 {
16}\par\pard\li2360\ri0\sl-
alex100 {zero is added in the left of the binary equivalent of the number. This
is indirectly dividing the}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\char
scalex100 {number by 2. When we left shift a number, we indirectly multiply the
number by 2. Also, when}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charsca
lex100 {an odd number is shifted, the result is always rounded. For example, 12
>> 2 gives 3 (this is 12}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charsc
alex100 {/ 2 = 6; 6 / 2 = 3 one division by 2 for each shift), whereas 13 >> 1
will give only 6 (13 / 2 = 6}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\ch
arscalex100 { decimal portion is truncated).}\par\pard\li2360\ri0\sl-413\slmult0
\fs12\cf0\f0\charscalex100 {/**************************************************
****/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/*
SHIFT OPERATORS
*/}\par\pard\li2360\ri0\sl-213\slmul
t0 \fs12\cf0\f0\charscalex100 {/************************************************
******/}\par\pard\li2360\ri0\sl-293\slmult0 \fs16\cf0\f0\charscalex100 {main()}\
par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li23
60\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { int a,b;}\par\pard\li2360\r
i0\sl-293\slmult0 \fs16\cf0\f0\charscalex100 { printf("Enter a number (integer
) : ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { scanf
("%d",&a);}\par\pard\li2360\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 { b
= a >> 2;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { pri
n}\fs16\cf0\f0\charscalex100 {tf("\\nValue when right shifted by 2 is %d",b);}\p
ar\pard\li2360\ri0\sl-320\slmult0 \fs16\cf0\f0\charscalex100 { b = a << 3;}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nValue
when left shifted by 3 is %d",b);}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0
\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-293\slmult0 \fs16\cf0\f0\charscale
x100 {Output}\par\pard\li2360\ri0\sl-360\slmult0 \fs16\cf0\f0\charscalex100 {Ent
er a number (integer) : 12}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\char
scalex100 {Value when right shifted by 2 is 3}\par\pard\li2360\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 {Value when left shifted by 3 is 96}\par\pard\li236
0\ri0\sl-293\slmult0 \fs16\cf0\f0\charscalex100 {Enter a number (integer) : 13}\
par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Value when right
shifted by 2 is 3}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{Value when left shifted by 3 is 104}\par\pard\li5133\ri0\sl-213\slmult0 \fs18\
cf0\par\pard\li5133\ri0\sl-280\slmult0 \fs18\cf0\f0\charscalex100 {10}\par\pard\
sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop4826\shpright9253\shpbottom10453\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2047\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 5627}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,5626);(6706,5626);(6706,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li12
26\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-360\slmult0 \fs22\cf
0\f0\charscalex100 {4. Let us now understand the XOR (exclusive OR) operator. Th
is is widely used for encoding and}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0
\f0\charscalex100 {decoding purposes. When you XOR string (or character) with a
character (this is called the key),}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf
0\f0\charscalex100 {you get a result. This is an encoded form. When you again XO
R the result (encoded form) with}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f
0\charscalex100 {the same key, you will get back the original character. If you
XOR the encoded string with a}\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\c
harscalex100 {different key, you will not get back the original string. The prog
ram shown below illustrates this}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\f
0\charscalex100 {concept.}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-253\slmult0 \fs12\cf0\f0\charscalex100 {/************************
***********************************/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\c
f0\f0\charscalex100 {/*
}\fs16\cf0\f0\charscalex100 {USAGE OF XOR FOR EN
CODING and DECODING}\fs16\cf0\f0\charscalex100 {
*/}\par\pard\li2360\ri
0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/**********************************
*************************/}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\f0\char
scalex100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100
{\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char a =
'A';}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char b =
'*';}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char c =
'/';}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char d;}\
par\pard\li2360\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 { d = a ^ b;}\par
\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\n\\n%c w
hen encoded using %c gives %c",a,b,d);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16
\cf0\f0\charscalex100 { a = d ^ b;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 { printf("\\n\\n%c when decoded using %c gives %c",d,b,a);}\
par\pard\li2360\ri0\sl-360\slmult0 \fs16\cf0\f0\charscalex100 { a = d ^ c;}\par
\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\n\\n%c w
hen decoded using %c gives %c",d,c,a);}\par\pard\li2360\ri0\sl-213\slmult0 \fs14
\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\f0\chars
calex100 {Output}\par\pard\li2360\ri0\sl-400\slmult0 \fs16\cf0\f0\charscalex100
{A when encoded using * gives k}\par\pard\li2360\ri0\sl-400\slmult0 \fs16\cf0\f0
\charscalex100 {k when decoded using * gives A}\par\pard\li2360\ri0\sl-400\slmul
t0 \fs16\cf0\f0\charscalex100 {k when decoded using / gives D}\par\pard\li5133\r
i0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\par
d\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\c
f0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmul
t0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl
-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5
133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\pa
r\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \f
s18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\
slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\r
i0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\par
d\li5133\ri0\sl-400\slmult0 \fs18\cf0\f0\charscalex100 {11}\par\pard\sect\sectd\
sbkpage
{\shp{\*\shpinst\shpleft2546\shptop5400\shpright9253\shpbottom9613\shpfhdr0\shpw
r3\shpwrk0\shpfblwtxt1\shplid2048\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 4213}}
{\sp{\sn shapePath}{\sv 4}}
che(). They will exactly take only one character as input and also they do not}\
par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {require you to pr
ess the Enter key. The function getche() will echo what you press while getch()}
\par\pard\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {will not show on
the screen. You can use putch() or putchar() to display the value. Look at the}
\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex100 {program.}\par\pa
rd\li2720\ri0\sl-333\slmult0 \fs12\cf0\f0\charscalex100 {/**********************
*****************************************/}\par\pard\li2720\ri0\sl-213\slmult0 \
fs16\cf0\f0\charscalex100 {/*
}\fs16\cf0\f0\charscalex100 {PROGRAM TO ILL
USTRATE getch() and getche()}\fs16\cf0\f0\charscalex100 {
*/}\par\pard
\li2706\ri0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/************************
***************************************/}\par\pard\li2706\ri0\sl-293\slmult0 \fs
16\cf0\f0\charscalex100 {main()}\par\pard\li2706\ri0\sl-213\slmult0 \fs14\cf0\f0
\charscalex100 {\{}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex10
0 { char mychar;}\par\pard\li2706\ri0\sl-293\slmult0 \fs16\cf0\f0\charscalex100
{ printf("Press a key (this will echo): ");}\par\pard\li2706\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 { mychar = getche();}\par\pard\li2706\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 { printf("\\nYou pressed ");}\par\pard\li2706
\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { putch(mychar);}\par\pard\li270
6\ri0\sl-253\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nPress a key (this
will not echo): ");}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex1
00 { mychar = getch();}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\cf0\f0\charsca
lex100 { printf("\\nYou pressed ");}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\c
f0\f0\charscalex100 { putch(mychar);}\par\pard\li2706\ri0\sl-213\slmult0 \fs14\
cf0\f0\charscalex100 {\}}\par\pard\li2706\ri0\sl-226\slmult0 \fs16\cf0\f0\charsc
alex100 {Output}\par\pard\li2706\ri0\sl-360\slmult0 \fs16\cf0\f0\charscalex100 {
Press a key (this will echo): A}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 {You pressed A}\par\pard\li2706\ri0\sl-213\slmult0 \fs16\cf0\f0\c
harscalex100 {Press a key (this will not echo):}\par\pard\li2706\ri0\sl-213\slmu
lt0 \fs16\cf0\f0\charscalex100 {You pressed K}\par\pard\li5133\ri0\sl-373\slmult
0 \fs18\cf0\f0\charscalex100 {13}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2533\shptop5226\shpright9253\shpbottom16146\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2052\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10920}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10920);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li41
33\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-373\slmult0 \fs22\cf
0\f0\charscalex100 {CHAPTER 7}\par\pard\li2946\ri0\sl-280\slmult0 \fs22\cf0\f0\c
90,}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-226\slm
ult0 \fs16\cf0\f0\charscalex100 {Enter the number whose factors are to be found
: 78}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {The factors
of 78 are:}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {2, 3
, 6, 13, 26, 39,}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\r
i0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {Enter the number whose factors are
to be found : 13}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100
{13 is a prime number}\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li
1226\ri0\sl-373\slmult0 \fs22\cf0\f0\charscalex100 {4. We will look at one more
example using nested for loop. We will find out the list of numbers that}\par\pa
rd\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {are perfect within a gi
ven range. A perfect number is one whose sum of factors (including 1) is}\par\pa
rd\li1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {the number itself. For
example, 6 = 1 + 2 + 3. The outer for loop enumerates the number range}\par\pard
\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex100 {while the inner for loop
identifies the factors one by one.}\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0
\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0
\fs18\cf0\par\pard\li5133\ri0\sl-293\slmult0 \fs18\cf0\f0\charscalex100 {16}\pa
r\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop3146\shpright9253\shpbottom14053\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2056\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 10907}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,10906);(6706,10906);(6706,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li23
60\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-400\slmult0 \fs12\cf
0\f0\charscalex100 {/***********************************************************
****/}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {/* Progra
m to illustrate nested for loop and also}\fs16\cf0\f0\charscalex100 {
*/}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {/* for loo
p with different increment}\fs16\cf0\f0\charscalex100 {
*/}\par\pard\li2360\ri0\sl-226\slmult0 \fs10\cf0\f0\charscalex100 {/***********
****************************************************/}\par\pard\li2360\ri0\sl-21
3\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-253\slmult0 \fs16\cf0\f0\charscalex10
0 {main()}\par\pard\li2360\ri0\sl-226\slmult0 \fs14\cf0\f0\charscalex100 {\{}\pa
r\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 { int i,sum,numberc
urr;}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 { int numbe
r,endnumber;}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\s
page
{\shp{\*\shpinst\shpleft2546\shptop3933\shpright9253\shpbottom13933\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2058\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 10000}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,10013);(6706,10013);(6706,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li12
26\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-360\slmult0 \fs22\cf
0\f0\charscalex100 {6. Binary to Decimal ConverterThis program will accept a bin
ary integer number and convert to}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\
f0\charscalex100 {its equivalent decimal integer number. The core logic is the s
eparation of the digits in the input}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\c
f0\f0\charscalex100 {number.}\par\pard\li2360\ri0\sl-333\slmult0 \fs12\cf0\f0\ch
arscalex100 {/*****************************************************************/
}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* Conversion o
f Binary integer to Decimal integer}\fs16\cf0\f0\charscalex100 {
*
/}\par\pard\li2360\ri0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/*************
****************************************************/}\par\pard\li2360\ri0\sl-37
3\slmult0 \fs16\cf0\f0\charscalex100 {#include <string.h>}\par\pard\li2360\ri0\s
l-213\slmult0 \fs16\cf0\f0\charscalex100 {main()}\par\pard\li2360\ri0\sl-213\slm
ult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 { int number,digit,len,sum;}\par\pard\li2360\ri0\sl-213\slmu
lt0 \fs16\cf0\f0\charscalex100 { char n[20];}\par\pard\li2360\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 { int power();}\par\pard\li2360\ri0\sl-213\slmult0
\fs16\cf0\f0\charscalex100 { printf("\\nEnter a binary number : ");}\par\pard\
li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { scanf("%d",&number);}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { sprintf(n,"%d",nu
mber); /* convert to string to find number of digits */}\par\pard\li2360\ri0\sl213\slmult0 \fs16\cf0\f0\charscalex100 { len = strlen(n); /* find the number of
digits */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { len
= len - 1; /* start off with a digit lesser */}\par\pard\li2360\ri0\sl-266\slmu
lt0 \fs16\cf0\f0\charscalex100 { /* get first digit alone outside the loop */}\
par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { digit = number
/ power(len,10);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{ sum = digit * power (len,2); /* raise to power 2 */}\par\pard\li2360\ri0\sl-2
13\slmult0 \fs16\cf0\f0\charscalex100 { while (len > 0)}\par\pard\li2360\ri0\sl
-213\slmult0 \fs14\cf0\f0\charscalex100 { \{}\par\pard\li2360\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {digit = number %
power(len,10);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
len = len - 1;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{
digit = digit / }\fs16\cf0\f0\charscalex100 {power(len,10);}\par\pard\li23
60\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
sum = sum + (digit * }\fs1
6\cf0\f0\charscalex100 {power (len,2));}\par\pard\li2360\ri0\sl-213\slmult0 \fs1
4\cf0\f0\charscalex100 { \}}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\ch
arscalex100 { printf("\\n Decimal equivalent of %d is %d",number,sum);}\par\par
d\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\
sl-253\slmult0 \fs16\cf0\f0\charscalex100 {/* function to find the powers */}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {int power(n,m)}\par
\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {int n,m;}\par\pard\l
i2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl213\slmult0 \fs16\cf0\f0\charscalex100 { int p = 1;}\par\pard\li2360\ri0\sl-21
3\slmult0 \fs16\cf0\f0\charscalex100 { w}\fs16\cf0\f0\charscalex100 {hile (n >
0)}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { \{}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
p = p * m;}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
n = n - 1;}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { \}}\par\pard\li2360
\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { return(p);}\par\pard\li2360\r
i0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-240\slm
ult0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li2360\ri0\sl-413\slmult0 \fs1
6\cf0\f0\charscalex100 {Enter a binary number : 1001}\par\pard\li2360\ri0\sl-213
\slmult0 \fs16\cf0\f0\charscalex100 {Decimal equivalent of 1001 is 9}\par\pard\l
i2360\ri0\sl-386\slmult0 \fs16\cf0\f0\charscalex100 {Enter a binary number : 111
1}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Decimal equiva
lent of 1111 is 15}\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133
\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-333\slmult0 \fs18\cf0\f0\ch
arscalex100 {19}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop4573\shpright9266\shpbottom15480\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2059\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10907}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10906);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li41
33\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li4133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4133\ri0\sl-373\slmult0 \fs22\cf
0\f0\charscalex100 {CHAPTER 8}\par\pard\li4293\ri0\sl-280\slmult0 \fs22\cf0\f0\c
harscalex100 {ARRAYS}\par\pard\li1226\ri0\sl-466\slmult0 \fs22\cf0\f0\charscalex
100 {1. The next program is to find from a list of numbers, the smallest and lar
gest numbers. The array is}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\char
scalex100 {not sorted. The program should also show the positions of these numbe
rs.}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-266\slm
ult0 \fs12\cf0\f0\charscalex100 {/**********************************************
*******************/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex
100 {/* PROGRAM TO SHOW THE USAGE OF ONE-DIMENSIONAL ARRAY */}\par\pard\li2360\r
i0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/*********************************
********************************/}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\
f0\charscalex100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charsc
alex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { int
i,smallest,largest,smallpos,largepos,count,getval;}\par\pard\li2360\ri0\sl-213\
slmult0 \fs16\cf0\f0\charscalex100 { int numbers[100];}\par\pard\li2360\ri0\sl360\slmult0 \fs16\cf0\f0\charscalex100 { /* Array input */}\par\pard\li2360\ri0
\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nEnter number of numbers
in the list : ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex10
0 { scanf("%d",&count);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsc
alex100 { for (i=0; i<count; i++)}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0
\f0\charscalex100 { \{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsca
lex100 {
}\fs16\cf0\f0\charscalex100 {printf("\\nEnter number[%d] : ",i);}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\c
harscalex100 {scanf("%d",&getval);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0
\f0\charscalex100 {
num}\fs16\cf0\f0\charscalex100 {bers[i] = getval;}\par\pa
rd\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 { \}}\par\pard\li2360\r
i0\sl-293\slmult0 \fs16\cf0\f0\charscalex100 { /* Array display */}\par\pard\li
2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nGiven array is
: ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { for (i=0
; i<count; i++)}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
prin}\fs16\cf0\f0\charscalex100 {tf("%d,",numbers[i]);}\par\pard\li2360\ri0
\sl-360\slmult0 \fs16\cf0\f0\charscalex100 { smallest = 9999; /* guess for smal
lest */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { larges
t = -9999; /* guess for largest */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0
\f0\charscalex100 { smallpos = largepos = 0;}\par\pard\li2360\ri0\sl-373\slmult
0 \fs16\cf0\f0\charscalex100 { for (i=0; i<count; i++)}\par\pard\li2360\ri0\sl213\slmult0 \fs14\cf0\f0\charscalex100 { \{}\par\pard\li2360\ri0\sl-213\slmult0
\fs16\cf0\f0\charscalex100 {
if (}\fs16\cf0\f0\charscalex100 {smallest > num
bers[i])}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\{}
\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
sm}\fs16\
cf0\f0\charscalex100 {allest = numbers[i];}\par\pard\li2360\ri0\sl-213\slmult0 \
fs16\cf0\f0\charscalex100 {
sm}\fs16\cf0\f0\charscalex100 {allpos = i;}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\}}\par\pard\li
2360\ri0\sl-320\slmult0 \fs16\cf0\f0\charscalex100 {
if }\fs16\cf0\f0\charsca
lex100 {(largest < numbers[i])}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\
charscalex100 {
\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscale
x100 {
l}\fs16\cf0\f0\charscalex100 {argest = numbers[i];}\par\pard\li2360
\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
lar}\fs16\cf0\f0\charscal
ex100 {gepos = i;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{
\}}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { \}}\
par\pard\li2360\ri0\sl-320\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nSma
llest number is %d found at position %d",smallest,smallpos);}\par\pard\li2360\ri
0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { prin}\fs16\cf0\f0\charscalex100
{tf("\\nLargest number is %d found at position %d",largest,largepos);}\par\pard\
li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li5133\ri0\sl
-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5
133\ri0\sl-293\slmult0 \fs18\cf0\f0\charscalex100 {20}\par\pard\sect\sectd\sbkpa
ge
{\shp{\*\shpinst\shpleft2546\shptop6866\shpright9266\shpbottom17786\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2060\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\shp{\*\shpinst\shpleft2546\shptop-4586\shpright9266\shpbottom6306\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2063\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10892}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10906);(0,10906);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li23
60\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-333\slmult0 \fs16\cf
0\f0\charscalex100 { printf("\\nReversed array is : ");}\par\pard\li2360\ri0\sl
-213\slmult0 \fs16\cf0\f0\charscalex100 { for (i=0; i<count; i++)}\par\pard\li2
360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {
prin}\fs16\cf0\f0\charsc
alex100 {tf("%d,",numbers[i]);}\par\pard\li2360\ri0\sl-226\slmult0 \fs14\cf0\f0\
charscalex100 {\}}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\
ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {Enter number of numbers in the li
st : 5}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter num
ber[0] : 3}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter
number[1] : 12}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {
Enter number[2] : 56}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex
100 {Enter number[3] : 2}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsc
alex100 {Enter number[4] : 44}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\
pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {Given array is : 3,12
,56,2,44,}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Revers
ed array is: 44,2,56,12,3}\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li1226\ri0\sl-360\slmult0 \fs22\cf0\f0\charscalex100 {3. This program is to fin
d the LCM of two numbers. The program uses two arrays for multiples of}\par\pard
\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex100 {each number. An array mat
ching is done to find the common element. Though a greedy method to}\par\pard\li
1520\ri0\sl-266\slmult0 \fs20\cf0\f0\charscalex100 {find LCM is available, this
method is given here to highlight the usage of multiple single}\par\pard\li1520\
ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex100 {dimension arrays, array matching
and nested for loops.}\par\pard\li2360\ri0\sl-320\slmult0 \fs12\cf0\f0\charscale
x100 {/************************************************************/}\par\pard\l
i2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* PROGRAM TO FIND THE LCM
OF TWO GIVEN NUMBERS
*/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 {/* TWO SINGLE DIMENSION ARRAYS ARE USED - ONE FOR EACH MULTI
PLE */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* WHEN A
MATCH BETWEEN ARRAYS IS FOUND, LCM IS GOT
*/}\par\pard\li2360\ri0\sl-21
3\slmult0 \fs12\cf0\f0\charscalex100 {/*****************************************
*******************/}\par\pard\li2360\ri0\sl-346\slmult0 \fs16\cf0\f0\charscalex
100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\char
scalex100 {scanf("%d",&brows);}\par\pard\li2920\ri0\sl-213\slmult0 \fs16\cf0\f0\
charscalex100 {printf("\\nEnter the number of columns in second matrix : ");}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\c
harscalex100 {scanf("%d",&bcols);}\par\pard\li2920\ri0\sl-306\slmult0 \fs16\cf0\
f0\charscalex100 {if (arows == brows && acols == bcols)}\par\pard\li2360\ri0\sl213\slmult0 \fs16\cf0\f0\charscalex100 {
\{}\par\pard\li2360\ri0\sl-213\slmul
t0 \fs16\cf0\f0\charscalex100 {
;}\par\pard\li2360\ri0\sl-213\slmult0 \fs1
6\cf0\f0\charscalex100 {
\}}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\
charscalex100 {
else}\par\pard\li2920\ri0\sl-213\slmult0 \fs14\cf0\f0\charsca
lex100 {\{}\par\pard\li3480\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {print
f("Addition of these two matrices is not possible" );}\par\pard\li3480\ri0\sl-21
3\slmult0 \fs16\cf0\f0\charscalex100 {exit(0);}\par\pard\li2920\ri0\sl-213\slmul
t0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li5133\ri0\sl-333\slmult0 \fs18\cf0\
f0\charscalex100 {23}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop3146\shpright9253\shpbottom14200\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2066\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6707}}
{\sp{\sn geoBottom}{\sv 11054}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,11053);(6706,11053);(6706,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2000\shptop14186\shpright9680\shpbottom14320\shpfhdr0\sh
pwr3\shpwrk0\shpfblwtxt1\shplid2067\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 7680}}
{\sp{\sn geoBottom}{\sv 134}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,133);(7680,133);(7680,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 1}}
{\sp{\sn fillColor}{\sv 16777215}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft1880\shptop2426\shpright9560\shpbottom3200\shpfhdr0\shpw
r3\shpwrk0\shpfblwtxt1\shplid2068\shpz2\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
lex100 {
}\fs16\cf0\f0\charscalex100 {printf("%d ",b[i][j]);}\par\pard\l
i2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charsca
lex100 {printf("\\n"); /* this is required for row break */}\par\pard\li2360\ri0
\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\}}\par\pard\li2360\ri0\sl-320\s
lmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {printf("\\nM
atrix sum is : \\n");}\par\pard\li2920\ri0\sl-213\slmult0 \fs16\cf0\f0\charscale
x100 {for(i=0; i < arows; i++)}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\
charscalex100 {
\{}\par\pard\li2920\ri0\sl-213\slmult0 \fs16\cf0\f0\charscale
x100 { for(j=0;j < acols; j++)}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 {
}\fs16\cf0\f0\charscalex100 {printf("%d ",c[i][j]);}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0
\charscalex100 {printf("\\n"); /* this is required for row break */}\par\pard\li
2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\}}\par\pard\li2360\ri0\
sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-306\slmult
0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li2360\ri0\sl-400\slmult0 \fs16\c
f0\f0\charscalex100 {Enter the number of rows in first matrix : 2}\par\pard\li23
60\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter the number of columns in
first matrix : 2}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{Enter the number of rows in second matrix : 2}\par\pard\li2360\ri0\sl-213\slmu
lt0 \fs16\cf0\f0\charscalex100 {Enter the number of columns in second matrix : 2
}\par\pard\li5133\ri0\sl-440\slmult0 \fs18\cf0\f0\charscalex100 {24}\par\pard\se
ct\sectd\sbkpage
{\shp{\*\shpinst\shpleft2533\shptop8066\shpright9253\shpbottom18986\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2069\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10920}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10920);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2546\shptop-3893\shpright9266\shpbottom7013\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2070\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10906}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10906);(0,10906);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
f0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmul
t0 \fs18\cf0\par\pard\li2360\ri0\sl-293\slmult0 \fs16\cf0\f0\charscalex100 {
\{}\par\column\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slm
ult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213
\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl
-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li
0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\par
d\li0\ri0\sl-320\slmult0 \fs16\cf0\f0\charscalex100 {printf("\\nTranspose matrix
is : \\n");}\par\pard\li0\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {for(i=
0; i < acols; i++)}\fs16\cf0\f0\charscalex100 {
/* note that we }\fs16\cf0\f
0\charscalex100 {changes the rows */}\par\pard\li0\ri0\sl-400\slmult0 \fs16\cf0\
f0\charscalex100 { for(j=0;j < arows; j++)}\par\pard\sect\sectd\sbknone\pgwsxn1
1893\pghsxn16840\marglsxn666\margrsxn133\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 {
prin}\fs16\cf0\f0\charscalex100 {tf("%d ",a[j][i]);
/*reverse printing */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsca
lex100 {
}\fs16\cf0\f0\charscalex100 {printf("\\n"); /* this is required fo
r row break */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\}}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pa
rd\li2360\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li2360
\ri0\sl-400\slmult0 \fs16\cf0\f0\charscalex100 {Enter the number of rows in the
matrix : 2}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter
the number of columns in the matrix : 3}\par\pard\li2360\ri0\sl-213\slmult0 \fs
16\cf0\f0\charscalex100 {Enter element at row 0 col 0 1}\par\pard\li2360\ri0\sl213\slmult0 \fs16\cf0\f0\charscalex100 {Enter element at row 0 col 1 2}\par\pard
\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter element at row 0 co
l 2 3}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Enter elem
ent at row 1 col 0 4}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex
100 {Enter element at row 1 col 1 5}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 {Enter element at row 1 col 2 6}\par\pard\li2360\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 {Input matrix is :}\par\pard\li2360\ri0\sl-213
\slmult0 \fs16\cf0\f0\charscalex100 {1 2 3}\par\pard\li2360\ri0\sl-213\slmult0 \
fs16\cf0\f0\charscalex100 {4 5 6}\par\pard\li2360\ri0\sl-266\slmult0 \fs16\cf0\f
0\charscalex100 {Transpose matrix is :}\par\pard\li2360\ri0\sl-213\slmult0 \fs16
\cf0\f0\charscalex100 {1 4}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\char
scalex100 {2 5}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {3
6}\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-346\slmu
lt0 \fs22\cf0\f0\charscalex100 {6. This program is also a matrix related program
. The program will compute the determinant of a}\par\pard\li1520\ri0\sl-266\slmu
lt0 \fs22\cf0\f0\charscalex100 {given square matrix. Since the method is based o
n pivotal method, the diagonal elements should}\par\pard\li1520\ri0\sl-266\slmul
t0 \fs20\cf0\f0\charscalex100 {not be the same number. The matrix is declared a
float data type since the pivoted matrix will}\par\pard\li1520\ri0\sl-266\slmult
0 \fs22\cf0\f0\charscalex100 {definitely be a float data type.}\par\pard\li2360\
ri0\sl-386\slmult0 \fs12\cf0\f0\charscalex100 {/********************************
**********************************/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf
0\f0\charscalex100 {/* PROGRAM TO FIND THE DETERMINANT OF A SQUARE MATRIX}\fs16\
cf0\f0\charscalex100 {
*/}\par\pard\li2360\ri0\sl-213\slmult0 \fs12\
cf0\f0\charscalex100 {/*********************************************************
*********/}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\f0\charscalex100 {main(
)}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\l
i2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { int i,j,k,rows;}\par\pard
\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { float matrix[20][20];}\
par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { float pivot,dete
rminant;}\par\pard\li2360\ri0\sl-346\slmult0 \fs16\cf0\f0\charscalex100 { /* ac
cept the matrix details */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\char
scalex100 { printf("Enter the numbers of rows in the square matrix : ");}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { scanf("%d",&rows);}\
par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nEnte
r the matrix elements now :");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\
\fs12\cf0\f0\charscalex100 {/**************************************************
********/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* NES
TED FUNCTION CALLS */}\par\pard\li2360\ri0\sl-226\slmult0 \fs12\cf0\f0\charscale
x100 {/**********************************************************/}\par\pard\li2
360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0
\charscalex100 {main()}\par\pard\li2360\ri0\sl-226\slmult0 \fs14\cf0\f0\charscal
ex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { prin
tf("\\nThis is main program before calls");}\par\pard\li2360\ri0\sl-213\slmult0
\fs16\cf0\f0\charscalex100 { function_one();}\par\pard\li2360\ri0\sl-226\slmult
0 \fs16\cf0\f0\charscalex100 { printf("\\nThis is main program after call");}\p
ar\pard\li2360\ri0\sl-226\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li236
0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\c
harscalex100 {function_one()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\ch
arscalex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
printf("\\nThis is function_one before calls");}\par\pard\li2360\ri0\sl-226\sl
mult0 \fs16\cf0\f0\charscalex100 { function_two();}\par\pard\li2360\ri0\sl-226\
slmult0 \fs16\cf0\f0\charscalex100 { printf("\\nThis is function_one after call
");}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf
0\f0\charscalex100 {function_two()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0
\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscale
x100 { printf("\\nThis is function_two");}\par\pard\li2360\ri0\sl-226\slmult0 \
fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\
pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li23
60\ri0\sl-426\slmult0 \fs16\cf0\f0\charscalex100 {This is main program before ca
lls}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscalex100 {This is func
tion_one before calls}\par\pard\li2360\ri0\sl-226\slmult0 \fs16\cf0\f0\charscale
x100 {This is function_two}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\char
scalex100 {This is function_one after call}\par\pard\li2360\ri0\sl-226\slmult0 \
fs16\cf0\f0\charscalex100 {This is main program after call}\par\pard\li1226\ri0\
sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-320\slmult0 \fs20\cf0\f0\charsca
lex100 {6. This program demonstrates the recursive function usage. The program c
omputes the greatest}\par\pard\li1520\ri0\sl-266\slmult0 \fs22\cf0\f0\charscalex
100 {common divisor (GCD) of two integers recursively.}\par\pard\li5133\ri0\sl-2
13\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li513
3\ri0\sl-413\slmult0 \fs18\cf0\f0\charscalex100 {30}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2520\shptop3146\shpright9253\shpbottom10093\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2080\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6733}}
{\sp{\sn geoBottom}{\sv 6947}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,6946);(6733,6946);(6733,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2533\shptop11186\shpright9253\shpbottom22106\shpfhdr0\sh
pwr3\shpwrk0\shpfblwtxt1\shplid2081\shpz1\shpbxpage\shpbypage
\fs16\cf0\f0\charscalex100 {Innermost myvar (char) is A}\par\pard\li2360\ri0\sl213\slmult0 \fs16\cf0\f0\charscalex100 {Middle myvar (float) is 20.000000}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Outermost myvar (int)
is 10}\par\pard\li5133\ri0\sl-400\slmult0 \fs18\cf0\f0\charscalex100 {32}\par\pa
rd\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop4533\shpright9280\shpbottom9613\shpfhdr0\shpw
r3\shpwrk0\shpfblwtxt1\shplid2084\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6734}}
{\sp{\sn geoBottom}{\sv 5080}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,5093);(6733,5093);(6733,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2546\shptop10346\shpright9266\shpbottom21266\shpfhdr0\sh
pwr3\shpwrk0\shpfblwtxt1\shplid2085\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10920}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10920);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li40
66\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-373\slmult0 \fs22\cf
0\f0\charscalex100 {CHAPTER 11}\par\pard\li3280\ri0\sl-280\slmult0 \fs22\cf0\f0\
charscalex100 {STRUCTURES AND UNIONS}\par\pard\li1226\ri0\sl-466\slmult0 \fs22\c
f0\f0\charscalex100 {1. This is a simple program that illustrates a structure. W
e have defined a structure called currency}\par\pard\li1520\ri0\sl-266\slmult0 \
fs22\cf0\f0\charscalex100 {with two members such as rupees and paise.}\par\pard\
r3\shpwrk0\shpfblwtxt1\shplid2096\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6733}}
{\sp{\sn geoBottom}{\sv 4614}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,4613);(6733,4613);(6733,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2546\shptop9133\shpright9266\shpbottom20040\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2097\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10907}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10906);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li12
26\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-360\slmult0 \fs22\cf
0\f0\charscalex100 {3. This simple program illustrates how to change the values
of the array elements using pointers.}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\
cf0\par\pard\li2360\ri0\sl-226\slmult0 \fs12\cf0\f0\charscalex100 {/************
*********************************************/}\par\pard\li2360\ri0\sl-213\slmul
t0 \fs16\cf0\f0\charscalex100 {/* modifying array elements using pointers */}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/******************
***************************************/}\par\pard\li2360\ri0\sl-373\slmult0 \fs
16\cf0\f0\charscalex100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0
\charscalex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex10
0 { int *myptr;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{ int myarray[5] = \{12,14,16,18,20\};}\par\pard\li2360\ri0\sl-360\slmult0 \fs1
\fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slm
ult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213
\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl
-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li
0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\par
d\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0
\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18
\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \
fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmul
t0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-2
13\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\
sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\
ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\
li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\p
ard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\p
ar\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\c
f0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0
\fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slm
ult0 \fs18\cf0\par\pard\li0\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li0\ri0\sl-293
\slmult0 \fs18\cf0\f0\charscalex100 {45}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2520\shptop4480\shpright9253\shpbottom11800\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2110\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6733}}
{\sp{\sn geoBottom}{\sv 7320}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;5;(0,0);(0,7306);(6733,7306);(6733,0);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;12;16384;45824;1;45824;1;45824;1;45824;1;45824;2457
7;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6096}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2533\shptop12253\shpright9253\shpbottom23146\shpfhdr0\sh
pwr3\shpwrk0\shpfblwtxt1\shplid2111\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10893}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10866);(0,0);(6720,0);(6720,10893);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\shp{\*\shpinst\shpleft2533\shptop10333\shpright9253\shpbottom21240\shpfhdr0\sh
pwr3\shpwrk0\shpfblwtxt1\shplid2112\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10907}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(0,10880);(0,0);(6720,0);(6720,10906);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shpleft2546\shptop-1466\shpright9266\shpbottom9426\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2113\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10892}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10906);(0,10906);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li23
60\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-320\slmult0 \fs16\cf
0\f0\charscalex100 { char text[100];}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\
cf0\f0\charscalex100 { int i;}\par\pard\li2360\ri0\sl-386\slmult0 \fs16\cf0\f0\
charscalex100 { myfile = fopen("example.txt", "a");}\par\pard\li2360\ri0\sl-400
\slmult0 \fs16\cf0\f0\charscalex100 { printf("Enter a sentence to store in the
file : ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { get
s(text);}\par\pard\li2360\ri0\sl-386\slmult0 \fs16\cf0\f0\charscalex100 { for(i
=0; text[i]; i++)}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100
{ \{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs1
6\cf0\f0\charscalex100 {fputc(text[i],myfile);}\par\pard\li2360\ri0\sl-213\slmul
t0 \fs14\cf0\f0\charscalex100 { \}}\par\pard\li2360\ri0\sl-360\slmult0 \fs16\cf
0\f0\charscalex100 { fclose(myfile);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\
wr3\shpwrk0\shpfblwtxt1\shplid2115\shpz1\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10906}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10920);(0,10920);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineDashing}{\sv 0}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lineColor}{\sv 0}}
{\sp{\sn lineType}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 0}}
{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}\pgwsxn11893\pghsxn16840\marglsxn666\margrsxn13
3\margtsxn666\margbsxn546\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li23
60\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-320\slmult0 \fs16\cf
0\f0\charscalex100 { while(!feof(myfile))}\par\pard\li2360\ri0\sl-213\slmult0 \
fs14\cf0\f0\charscalex100 { \{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 {
prin}\fs16\cf0\f0\charscalex100 {tf("%s", fgets(text, 10, my
file));}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 { \}}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { fclose(myfile);}\
par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li23
60\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li2360\ri0\sl
-400\slmult0 \fs16\cf0\f0\charscalex100 {Enter a line to be stored : usage of fp
uts and fgets}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {Th
e file has : usage of fputs and fgets}\par\pard\li1226\ri0\sl-213\slmult0 \fs18\
cf0\par\pard\li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-293\slmu
lt0 \fs22\cf0\f0\charscalex100 {4. This example shows how to copy one file to an
other using fread() and fwrite(). Notice the usage}\par\pard\li1520\ri0\sl-266\s
lmult0 \fs22\cf0\f0\charscalex100 {of two file pointers, one for input file and
other for output file.}\par\pard\li2360\ri0\sl-426\slmult0 \fs12\cf0\f0\charscal
ex100 {/**************************************************************/}\par\par
d\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* fread and fwrite for
multiple line read and write */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 {/* program which copies from one file to another file */}\par\pa
rd\li2360\ri0\sl-213\slmult0 \fs12\cf0\f0\charscalex100 {/**********************
****************************************/}\par\pard\li2360\ri0\sl-360\slmult0 \f
s16\cf0\f0\charscalex100 {#include <stdio.h>}\par\pard\li2360\ri0\sl-213\slmult0
\fs16\cf0\f0\charscalex100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf
0\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscal
ex100 { FILE *inputfile;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\chars
calex100 { FILE *outputfile;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\c
harscalex100 { char text[100];}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 { int chars;}\par\pard\li2360\ri0\sl-320\slmult0 \fs16\cf0\f0\ch
arscalex100 { inputfile = fopen("size.c", "r");}\par\pard\li2360\ri0\sl-213\slm
ult0 \fs16\cf0\f0\charscalex100 { outputfile = fopen("exam.txt", "w");}\par\par
d\li2360\ri0\sl-386\slmult0 \fs16\cf0\f0\charscalex100 { /* in fread, 1 indicat
es how many characters to be read at a time and */}\par\pard\li2360\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 { /* 50 indicates how many characters to be r
ear,week_day_number,leap,month;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0
\charscalex100 { int a,b,c;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\c
harscalex100 { outputfile = fopen ("cal.txt", "w");}\par\pard\li2360\ri0\sl-21
3\slmult0 \fs16\cf0\f0\charscalex100 { prin}\fs16\cf0\f0\charscalex100 {tf("\\
nEnter year : ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{ scanf("%d",&year);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsca
lex100 { printf("\\nEnter month : ");}\par\pard\li2360\ri0\sl-213\slmult0 \fs1
6\cf0\f0\charscalex100 { scanf("%d",&month);}\par\pard\li2360\ri0\sl-280\slmul
t0 \fs16\cf0\f0\charscalex100 { /* use Zeller's congreunce to find the first d
ay of the year */}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{ a = }\fs16\cf0\f0\charscalex100 {(year - 1.0) / 4.0;}\par\pard\li2360\ri0\s
l-213\slmult0 \fs16\cf0\f0\charscalex100 { b = }\fs16\cf0\f0\charscalex100 {(y
ear - 1.0) / 100.0;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex1
00 { c = }\fs16\cf0\f0\charscalex100 {(year - 1.0)/ 400.0;}\par\pard\li2360\ri
0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { week_day_number = (year + a - b
+ c) % 7;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { lea
p = check_leap (year);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscal
ex100 { construct(outputfile, year,month, week_day_number, leap);}\par\pard\li2
360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl-30
6\slmult0 \fs16\cf0\f0\charscalex100 {int check_leap (int year)}\par\pard\li2360
\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li2360\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 { if ((year % 4 == 0) && (year % 100 != 0) |
| (year%400 == 0))}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex10
0 {
}\fs16\cf0\f0\charscalex100 {return TRUE;}\par\pard\li2360\ri0\sl-213\sl
mult0 \fs16\cf0\f0\charscalex100 { else}\par\pard\li2360\ri0\sl-213\slmult0 \f
s16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {return FALSE;}\par\p
ard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri
0\sl-320\slmult0 \fs16\cf0\f0\charscalex100 {void construct (FILE *outputfile, i
nt year,int month, int}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscal
ex100 {week_day_number, int leap)}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\
f0\charscalex100 {\{}\par\pard\li2920\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex
100 {int days,daycount;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsc
alex100 {
sw}\fs16\cf0\f0\charscalex100 {itch ( month )}\par\pard\li2360\ri0\
sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
\{}\par\pard\li2360\ri0\sl-213\sl
mult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {case 1:}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0
\f0\charscalex100 {days = 31;}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\c
harscalex100 {
}\fs16\cf0\f0\charscalex100 {break;}\par\pard\li2360\ri0\
sl-293\slmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {ca
se 2:}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
}
\fs16\cf0\f0\charscalex100 {days = leap ? 29 : 28;}\par\pard\li2360\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 {
}\fs16\cf0\f0\charscalex100 {break;}
\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0
\fs18\cf0\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-2
93\slmult0 \fs18\cf0\f0\charscalex100 {49}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2586\shptop3120\shpright9306\shpbottom14026\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2117\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}
{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn rotation}{\sv 0}}
{\sp{\sn geoRight}{\sv 6720}}
{\sp{\sn geoBottom}{\sv 10906}}
{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn pVerticies}{\sv 8;4;(6720,26);(6720,10906);(0,10906);(0,0);}}
{\sp{\sn pSegmentInfo}{\sv 2;9;16384;45824;1;45824;1;45824;1;45824;32768}}
{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn lineWidth}{\sv 6350}}
{\sp{\sn lineColor}{\sv 0}}
3\margtsxn666\margbsxn546\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li40
66\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par
\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs
18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\s
lmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri
0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard
\li4066\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li4066\ri0\sl-373\slmult0 \fs22\cf
0\f0\charscalex100 {CHAPTER 14}\par\pard\li1920\ri0\sl-280\slmult0 \fs22\cf0\f0\
charscalex100 {DYNAMIC MEMORY ALLOCATION AND LINKED LISTS}\par\pard\li1226\ri0\s
l-466\slmult0 \fs22\cf0\f0\charscalex100 {1. This example is to illustrate the u
sage of malloc for characters.}\par\pard\li2360\ri0\sl-413\slmult0 \fs12\cf0\f0\
charscalex100 {/****************************************************************
*/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {/* usage of m
alloc in characters */}\par\pard\li2360\ri0\sl-213\slmult0 \fs12\cf0\f0\charscal
ex100 {/*****************************************************************/}\par\
pard\li2360\ri0\sl-346\slmult0 \fs16\cf0\f0\charscalex100 {#include <stdio.h>}\p
ar\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {#include <string.h
>}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {#include <stdl
ib.h>}\par\pard\li2360\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 {main()}\pa
r\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\{}\par\pard\li2360
\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char *first = "Programming ";}
\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char *second =
"Language";}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { c
har *final;}\par\pard\li2360\ri0\sl-306\slmult0 \fs16\cf0\f0\charscalex100 { fi
nal = (char *)malloc((strlen(first) + strlen(second) + 1)*sizeof(char));}\par\pa
rd\li2360\ri0\sl-386\slmult0 \fs16\cf0\f0\charscalex100 { strcpy(final, first);
}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { strcat(final,
second);}\par\pard\li2360\ri0\sl-360\slmult0 \fs16\cf0\f0\charscalex100 { prin
tf("first: %s\\n", first);}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\char
scalex100 { printf("second: %s\\n", second);}\par\pard\li2360\ri0\sl-213\slmult
0 \fs16\cf0\f0\charscalex100 { printf("concatenated: %s\\n", final);}\par\pard\
li2360\ri0\sl-333\slmult0 \fs16\cf0\f0\charscalex100 { free(final);}\par\pard\l
i2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\}}\par\pard\li2360\ri0\sl373\slmult0 \fs16\cf0\f0\charscalex100 {Output}\par\pard\li2360\ri0\sl-373\slmul
t0 \fs16\cf0\f0\charscalex100 {first: Programming}\par\pard\li2360\ri0\sl-213\sl
mult0 \fs16\cf0\f0\charscalex100 {second: Language}\par\pard\li2360\ri0\sl-213\s
lmult0 \fs16\cf0\f0\charscalex100 {concatenated: Programming Language}\par\pard\
li1226\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li1226\ri0\sl-306\slmult0 \fs22\cf0
\f0\charscalex100 {2. This example is to illustrate the usage of calloc for char
acters.}\par\pard\li2360\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li2360\ri0\sl-240
\slmult0 \fs12\cf0\f0\charscalex100 {/******************************************
**********************/}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charsca
lex100 {/* usage of calloc for strings */}\par\pard\li2360\ri0\sl-213\slmult0 \f
s12\cf0\f0\charscalex100 {/*****************************************************
***********/}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\f0\charscalex100 {#in
clude <stdio.h>}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 {
#include <string.h>}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex1
00 {#include <stdlib.h>}\par\pard\li2360\ri0\sl-373\slmult0 \fs16\cf0\f0\charsca
lex100 {main()}\par\pard\li2360\ri0\sl-213\slmult0 \fs14\cf0\f0\charscalex100 {\
{}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100 { char *first
= "Programming ";}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\charscalex100
{ char *second = "Language";}\par\pard\li2360\ri0\sl-213\slmult0 \fs16\cf0\f0\
charscalex100 { char *final;}\par\pard\li2360\ri0\sl-346\slmult0 \fs16\cf0\f0\c
harscalex100 { final = (char *)calloc(strlen(first) + strlen(second) + 1, sizeo
f(char));}\par\pard\li5133\ri0\sl-213\slmult0 \fs18\cf0\par\pard\li5133\ri0\sl-2
80\slmult0 \fs18\cf0\f0\charscalex100 {51}\par\pard\sect\sectd\sbkpage
{\shp{\*\shpinst\shpleft2546\shptop-4480\shpright9266\shpbottom6426\shpfhdr0\shp
wr3\shpwrk0\shpfblwtxt1\shplid2120\shpz0\shpbxpage\shpbypage
{\sp{\sn shapeType}{\sv 0}}
{\sp{\sn fFlipH}{\sv 0}}