Вы находитесь на странице: 1из 349

-

-
2009

681.3.068+800.92C/++
32.973.26018.1
90

90

. .
/C++ : 2- ., . .
.: -, 2009. 368 .: . + CD-ROM
ISBN 978-5-94157-406-3
C/C++, -,
, , ,
,
, , .

. C/C++ . , .
, - .

681.3.068+800.92C/++
32.973.26018.1

:

.

02429 24.07.00. 28.07.09.


60901/16. . . . . 23.
2000 .
"-", 190005, -, ., 29.
-
77.99.60.953..005770.05.09 26.05.2009 .
.

" ""
199034, -, 9 , 12

ISBN 978-5-94157-406-3

. ., 2009
, "-", 2009

...................................................................................... 1
....................................................................... 2
........................................................................ 3
I. ................................................ 5
................................................................... 7
........................................................................... 7
.............................................................................................. 8
................................................................ 9
........................................................................... 9
............................................................................................ 10
................................................................................................ 14
......................................................................... 14
............................................................................................ 15
.................................................................................. 18
............................................................................................ 18
................................................................................................... 20
......................................................................... 20
............................................................................................ 21
............................................... 22
......................................................................... 22
............................................................................................ 23
................................................................................................ 39
if ................................................................................ 39
.................................................................. 39
..................................................................................... 40

IV

switch ........................................................................ 65
.................................................................. 65
..................................................................................... 66
................................................................................................ 78
for ......................................................................................... 78
.................................................................. 78
..................................................................................... 78
......................................................................... 104
do ... while .......................................................................... 110
................................................................ 110
................................................................................... 110
......................................................................... 121
while ................................................................................... 122
................................................................ 122
................................................................................... 122
.......................................................................................... 126
....................................................................... 126
.......................................................................................... 126
................................................................................ 152
.......................................................................... 160
....................................................................... 160
.......................................................................................... 161
................................................................................ 182
.......................................................................................... 188
....................................................................... 188
.......................................................................................... 188
................................................................................ 202
........................................................................................... 208
....................................................................... 208
.......................................................................................... 209
................................................................................ 248
.............................................................................................. 254
....................................................................... 254
.......................................................................................... 255
................................................................................ 269
.......................................................................................... 276
................................................................................ 283

II. ........................................................ 295


....................................................................297
..................................................................298
.................................................................................298
.............................................................................298
.......................................................................................298
..........................................................................................299
...........................................................................................299
.............................................................299
...............................................................................................300
if ...............................................................................300
switch .......................................................................300
...............................................................................................301
for .............................................................................301
do while ....................................................................301
while .........................................................................302
......................................................................302
- ...................................................................303
printf ..............................................................................................303
scanf ..............................................................................................304
puts ................................................................................................305
gets ................................................................................................305
putch ..............................................................................................305
getch ..............................................................................................306
cputs ..............................................................................................306
cprintf ............................................................................................306
sprintf ............................................................................................307
textcolor.........................................................................................307
textbackground ..............................................................................308
gotoxy ............................................................................................309
clrscr..............................................................................................309
window ..........................................................................................309
...........................................................309
fopen ..............................................................................................309
fprintf .............................................................................................310
fscanf .............................................................................................311

VI

fgets ...............................................................................................311
fputs ...............................................................................................311
ferror .............................................................................................312
feof .................................................................................................312
fclose..............................................................................................312
........................................................312
strcat ..............................................................................................312
strcpy .............................................................................................313
strlen ..............................................................................................313
strcmp ............................................................................................313
strlwr .............................................................................................313
strupr .............................................................................................314
strset ..............................................................................................314
strchr .............................................................................................314
..............................................................314
abs, fabs .........................................................................................314
acos, asin, atan, acosl, asinl, atanl ...............................................315
cos, sin, tan cosl, sinl, tanl ............................................................315
exp, expl .........................................................................................315
pow, powl ......................................................................................316
sqrt .................................................................................................316
rand ...............................................................................................316
srand ..............................................................................................316
...............................................................317
atof .................................................................................................317
atoi, atol ........................................................................................317
gcvt ................................................................................................317
itoa, ltoa, ultoa ..............................................................................318
.....................................................318
arc..................................................................................................318
bar .................................................................................................319
bar3d .............................................................................................319
circle ..............................................................................................320
drawpoly ........................................................................................321
ellipse ............................................................................................321
getmaxx, getmaxy ..........................................................................322
getx, gety........................................................................................322

VII

graphresult ....................................................................................322
grapherrormsg ..............................................................................322
initgraph ........................................................................................323
line .................................................................................................323
lineto ..............................................................................................323
linerel ............................................................................................324
moveto ...........................................................................................324
moverel ..........................................................................................324
outtext ............................................................................................325
outtextxy ........................................................................................325
pieslice...........................................................................................325
putpixel ..........................................................................................326
rectangle ........................................................................................326
sector .............................................................................................327
setcolor ..........................................................................................328
setfillstyle.......................................................................................329
setlinestyle .....................................................................................329
settexstyle ......................................................................................330
..............................................................................331
delay ..............................................................................................331
sound .............................................................................................331
nosound .........................................................................................332
........................................................................... 333
1................................................................................ 335
...................................................................... 335
....................................................... 338
................................ 339
, ............ 339
2. - ............................... 343
...................................... 345
............................................................... 347

, ,
, .
? , , ,
. , ,
, .
, , , , , , .
.
.
:

.

C++. , , , .
. ++,
, . , Microsoft Visual C++ Borland C++ Builder.

, ? , . ,
( )
(
, ,
,
), Borland C++ 3.1.
,
, . , ,
. . . .
. , !


, . , .
,
. (
), ""
- .
,
, .


, ( ) ,
. :
-

, ;
;
.

, ,
.

.



, ,
:
.
,

. , C++
, ,
.

. :
= ;

( ).
++ , -

, , Sum sum .
++ int (-

) float ().
-

1. ,
.
1
float a, b; //
float s;

//

2. ,
.
2
float funt; //
float kg;

//

3. , .
3
float

summa;

//

int

srok;

// ()

int

stavka;

// ()

float

dohod;

//

4. ,
.
5. ,
.
5
float r1, r2; //
float s;

//

6. ,
.

7. , , ,
.
7
float

CenaTetr;

//

int

KolTetr;

//

float

CenaKar;

//

int

KolKar;

//

float

CenaLin;

//

float

Summa;

//

8. , , .



, ,
:

, " ".
, C++

, ,
, x=x+dx x+=dx, i=i+1 : i++.

, .
. , n, int, 32767, -

10

n=n+1, n
-32768.
-

,
.

9. , x 1,5.
10. ,
summa .
11. , n.
11
n++;

12. ,
counter.
12
counter -= 2;

13.
x1 x2.
14. = 2,7x3 + 0,23x2 1,4.
14
y:=-2.7*x*x*x + 0.23*x*x - 1.4;

11

15. , x , dx.
15
x += dx;

16.
( 405,9 ).
16
kg = funt*0.4059;

17.
( 1066,8 ).
18. .
19. 1
: s = a h , a ,
2
h .
20. a +b
h , a b ,
: s =
2
h .
21. : s = r 2 .
21
// M_PI, "", math.h
s = M_PI * r * r;

12

22. .

s = 2 r(h + r)
v = r2 h

R
22
// M_PI, "",
math.h
s = 2*M_PI*r*(h+r);
v = M_PI *r*r*h;

23. .
24.
.

3
v = r 3
4
s = 4 r 2

24
float r;

//

float v, s;

//

v = (3*M_PI*r*r*r)/4; // M_PI math.h


s = 4*M_PI*r*r;

13

25. .
26. .
v = h(r12 r22 )
r1
r2
h

27. .

1
s = r 2 h
3

28.
:
5
= ( F 32).
9
29. .
30.
.

14

31. , .
32. , r r
: r = 1 2 .
r1 + r2
33.
.
34. ,
, .
34
float ctetr, cobl, ckar; // ,
int

ntetr, nkar;

float summ;

// -
//

// ,
//
summ = ntetr*(ctetr+cobl) + nkar*ckar;


, ,
:
printf -

.
printf , -

15

,
.

, %.

:
y %i ;
y %u ;
y %f , ;
y %n.mf ,
n (
, , ); m .

, :
y \n ;
y \t ;
y \" ;
y \\ \.
printf,

puts.

, :
printf(" <Enter>");
getch();

35. ,
.

16

36. , ,
( ).
36
#include <stdio.h>
#include <conio.h>
void main()
{
printf("\n\n\n");
printf(" <Enter>");
getch(); //
}

37. ,
.
.
! !

,
.
. .
37
//
#include <stdio.h>
#include <conio.h>
void main()
{
printf(" ! !\n");
printf(" -\n");
printf(" ,\n");
printf(" .\n\n");
printf("

. . \n");

printf("\n\n <Enter>");
getch(); //
}

17

38. a, b c
( float) . : a = b =
= c = .
38
printf("a=%5.3f

b=%5.3f

=%5.3f", a, b, c);

39. h w
( float), . (=, =), ().
39
printf(" = %3.2f \n = %3.2f \n", h, l);

40. , m n (int).
40
printf("a=%i

b=%i

c=%i", a, b, c);

41. a,
b c. .
41
printf("a=%i\nb=%i\nc=%i\n", a, b, c);

42.
x1 x2. , , "".

18

, cprintf cputs. ,
\r\n.
, cprintf cputs, -

textcolor().
textbackground().
-

textbackground,
#include "conio.h".

clrscr, textcolor
-

43. ,
:
,
.
,
, .
. .
43
//
#include <conio.h>
void main()
{
textbackground(BLUE); //
textcolor(LIGHTGRAY); //
clrscr();

//

cprintf(" \n\r");
cprintf(" .\n\r");

19

cprintf(" ,\n\r");
cprintf(" , .\n\n\r");
cprintf("

. . \n\n\r");

cprintf("\n\n <Enter>");
getch();
}

44. , " , ", (


: , , , , , , ).
.
44
//
#include <conio.h>
void main()
{
clrscr();
textcolor(RED);
cprintf(" \n\r");
textcolor(LIGHTRED); //
cprintf(" \n\r");
textcolor(YELLOW);
cprintf(" \n\r");
textcolor(GREEN);
cprintf(" \n\r");
textcolor(LIGHTBLUE);
cprintf(" \n\r");
textcolor(BLUE);
cprintf(" \n\r");
textcolor(MAGENTA);

20
cprintf("!\n\r");
textcolor(LIGHTGRAY);
cprintf("\n <Enter>");
getch();
}


, ,
:

scanf.
scanf

, . ,
. & (,
).

y %i ;
y %u ;
y %f ;
y % ;
y %s .
& , -

scanf,
( ,
).

21

45. , kol .
46. ,
radius float.
47. ,
u r ( float). ,
<Enter> ( ).
47
scanf("%f", &u);
scanf("%f", &r);

48. ,
u r ( float). ,
.
48
scanf("%f %f", &u, &r);

49.
,
.
49
float r, h; //
float v;
//
printf(" :\n");
printf(" -> ");
scanf("%f", &r);
printf(" -> ");
scanf("%f", &h);

22

50.

. , .
50
float sum;

//

int period;

// (- )

float rate;

//

float profit; //
float value; //
printf(" (.) -> ");
scanf("%f, &sum);
printf(" (.) ->");
scanf("%i", &period);



, ,
:

, , .
-

, .

23

51. .
(,
, ).

:
() -> 9
() -> 7.5
: 67.50 . .

51
//
#include <stdio.h>
#include <conio.h>
void main()

24
{
float l,w; //
float s;

//

printf("\n \n");
printf(" :\n");
printf(" (.) -> ");
scanf("%f", &l);
printf(" (.) -> ");
scanf("%f", &w);
s = l * w;
printf(" : %10.2f . \n", s);
printf("\n\n <Enter>");
getch();
}

52. .
53. .
(,
, ).

:
() -> 9
() -> 7.5
() -> 5
: 337.50 . .

54. . (, , ).

:
() -> 9
() -> 7.5
() -> 5
: 90.00 . .

25

54
//
#include <stdio.h>
#include <conio.h>
void main()
{
float l,w,h; // ,
float s;

//

printf("\n \n");
printf(" :\n");
printf(" () -> ");
scanf("%f", &l);
printf(" () -> ");
scanf("%f", &w);
printf(" () -> ");
scanf("%f", &w);
s = (l*w + l*h + w*h)*2;
printf(" : %6.2f . \n",s);
printf("\n\n <Enter>");
getch();
}

55. . (,
, ).

() <Enter>
-> 9.5
: 857.38 . .

56. .
(, , ).

:
() -> 5

26
() -> 10
1570.80 . .
<Enter>

56
//
#include <stdio.h>
#include <conio.h>
void main()
{
float r,h,v; // ,
printf(" \n");
printf(" :\n");
printf(" () -> ");
scanf("%f", &r);
printf(" () -> ");
scanf("%f", &h);
v = 2*3.1415926*r*r*h;
printf("\n %6.2f . \n", v);
printf("\n <Enter>");
getch();
}

57. , .
(, , ).

:
(.) -> 2.75
-> 5
(.) -> 0.85
-> 2
: 15.45 .

27

57
//
#include <stdio.h>
#include <conio.h>
void main()
{
float kar,tetr; //
int nk,nt;

//

float summ;

// }

printf("\n \n");
printf(" :\n");
printf(" (.) -> ");
scanf("%f", &tetr);
printf(" -> ");
scanf("%i", &nt);
printf(" (.) -> ");
scanf("%f", &kar);
printf(" -> ");
scanf("%i", &nk);
summ=tetr*nt + kar*nk;
printf("\n : %6.2f .\n", summ);
printf("\n <Enter>");
getch();
}

58. ,
.
(, , ).

:
(.) -> 2.75
(.) -> 0.5
(.) -> 7
: 22.75 .

28

59. ( ), . (, ,
).

:
(.) -> 8.5
() -> 2.3
: 19.55 .

60. ,
. (, ,
).

:
() -> 8.5
() -> 10
42.50 . .

61. ,

. (, , ).

( )
-> 25 17

-> 30
: 106.25 . .

61
//
//
#include <stdio.h>
#include <conio.h>
#include "math.h"
void main()
{

// sin M_PI - ""

29

float a,b; //
float u;

// ,

float s;

//

printf("\n \n");
printf(" ");
printf("() -> ");
scanf("%f%f", &a, &b);
printf(" ");
printf("(.) -> ");
scanf("%f", &u);
/* s=a*h/2, a - , h - .
h - h=b*sin(u).
sin .
1 . = 180/pi, pi - "").
*/
s = a*b*sin(u*M_PI/180)/2;
printf(" : %6.2f . ",s);
printf("\n\n <Enter>");
getch();
}

62. , .
(, , ).

.
:
() -> 15
() -> 20
: 8.57

62
// ,
//

30
#include <stdio.h>
#include <conio.h>
void main()
{
float r1,r2; //
float r;

//

printf("\n \n");
printf(" \n");
printf(" :\n");
printf(" () -> ");
scanf("%f",&r1);
printf(" () -> ");
scanf("%f",&r2);
r=r1*r2/(r1+r2);
printf(" : %6.2f ",r);
printf("\n <Enter>");
getch();
}

63. ,
. (, , ).

:
() -> 15
()-> 27.3
( ): 42.30

31

64.
.
(, , ).

:
() -> 36
() -> 1500
: 0.024

65. , . (, , ).

:
( ) -> 120
() -> 3.5
420 .

66. . : ();
( ), 100 ;
.
(, ,
).

() -> 67
( 100 ) -> 8.5
(.) -> 19.20
109.34 .

66
//
#include <stdio.h>
#include <conio.h>
void main()
{
float rast;

//

32
float potr;

// 100

float cena;

//

float summ;

//

printf("\n \n");
printf(" () -> ");
scanf("%f",&rast);
printf(" ( 100 .) -> ");
scanf("%f",&potr);
printf(" (.) -> ");
scanf("%f",&cena);
summ = 2 * potr/100 * rast * cena;
printf(" %6.2f .",summ);
printf("\n\n <Enter>");
getch();
}

67. , ,
. . , , .

() -> 1000
(.)-> 3.25
: 1000
: 3 25 = 205
: 17.56 /

67
//
#include <stdio.h>
#include <conio.h>
void main()
{
float s;

//

float t;

//


float v;

//

int min;

//

int sek;

//

float

33

ts; //

printf(" \n");
printf(" () -> ");
scanf("%f", &s);
printf(" (.)-> ");
scanf("%f", &t);
min = t;
sek = (t - min) * 100;
ts = min * 60 + sek;
v = (s /1000) / (ts / 3600);
printf(": %4.0f \n", s);
printf(": %i %i = %4.0f \n", min, sek, ts);
printf(" %2.2f /\n", v);
printf("\n <Enter>");
getch();
}

68. .
(, , ).

:
() -> 5.5
() -> 7
665.23 .

69.
. -

34

(, , ).

:
() -> 5.5
() -> 7
: 431.97 . .

69
//
#include <stdio.h>
#include <conio.h>
#include "math.h" // M_PI - ""
void main()
{
float r; //
float h; //
float s; //
printf("\n \n");
printf(" :\n");
printf(" () ->");
scanf("%f", &r);
printf(" () ->");
scanf("%f", &h);
s = 2*M_PI*r*r +2*M_PI*r*h;
printf(" %6.2f . \n", s);
printf("\n <Enter>");
getch();
}

70. .
(,
, ).

,

35

( ).
.
<Enter>
-> 7.5 2.5 3
56.25 .

71. (1 1600,94 ).
(, , ).

-> 100
100 - 160.09
71
//
#include <stdio.h>
#include <conio.h>
void main()
{
float m; //
float k; //
printf("\n \n");
printf(" ->");
scanf("%f", &m);
k = m*1.60094;
printf("%6.2f - %6.2f \n", v,k);
printf("\n <Enter>");
getch();
}

72.
(1 405,9 ). -

36

(, ,
).

-> 5
5 - 2.05

73. . ,
(% ) ( ) . (, ,
).

:
(.) -> 25000
() -> 6
() -> 10
------------------------------------: 1250.00 .
: 262500.00 .

73
//
#include <stdio.h>
#include <conio.h>
void main()
{
float summ;

//

int srok;

//

float stavka;

//

float dohod;

//

printf("\n \n");
printf(" :\n");
printf(" (.) -> ");
scanf("%f", &summ);
printf(" () -> ");
scanf("%i", &srok);
printf(" () -> ");

37

scanf("%f", &stavka);
dohod = summ * stavka/365/100 * srok; // 365 - -

summ = summ + dohod;
printf("----------------------------------\n");
printf(": %9.2f .\n", dohod);
printf(" : %9.2f .\n",summ);
printf("\n <Enter>");
getch();
}

74. , , ,
. (, , ).
( )-> 150
150 - 2 . 30 .

74
// , ,
// ,
#include <stdio.h>
#include <conio.h>
void main()
{
int min; //
int h;

//

int m;

//

printf(" ( ) -> ");


scanf("%i",&min);
h = (int)min /
m = min % 60;

60;

38
printf("%i . - %i .%i .\n", min, h, m);
printf("\n <Enter>");
getch();
}

75. , . ,
12,5 12 . 50 .
(, , ).

-> 23.6
23.6 . - 23 . 60 .

75
//
#include <stdio.h>
#include <conio.h>
void main()
{
float f;

//

int r;

// ()

int k;

// ()

printf("\n \n");
printf(" -> ");
scanf("%f",&f);
r =

(int)f;

k = f * 100 - r*100;
printf("%6.2f . - %i . %i .\n", f, r, k);
printf("\n <Enter>");
getch();
}

39

76.
(1 405,9 ). (, , ).

<Enter>.
-> 3.5
3.5 (/) - 1 420 .

77. , , . (, , ).


( ):
x1,y1 -> -2 5
x2,y2 -> 1 7
x3,y3 -> 5 -3
: 23.56 . .

if

, , :
if -

.
, if, :

40

( ) -


, if.
, else, -

, , , .
( )

,
.
-

if .

78. , ,
. (, , ).

:
() -> 15
()-> 27.3
(1-, 2- ) -> 2
: 9.68

78
//
#include <stdio.h>
#include <conio.h>
void main()
{
float r1,r2; //
float r;

//


int t;

41

// :

//
1 - ;
//
2 -
printf("\n \n");
printf(" :\n");
printf(" () ->");
scanf("%f", &r1);
printf(" () ->");
scanf("%f", &r2);
printf(" ");
printf("(1-, 2-) ->");
scanf("%i", &t);
if (t == 1)
r = r1 + r2;
else r = r1*r2 / (r1+r2);
printf(" : %6.2f \n", r);
printf("\n <Enter>");
getch();
}

79. .
: . . 5000 ., 10%,
, 13%.
(, , ).

, . -> 10000
, . -> 12
---------------------------: 10000.00 .
: 12 .
: 13
: 1300.00 .
: 11300.00 .

79
//
#include "stdio.h"

42
#include "conio.h"
void main()
{
float sum;
int period;

//
//

float percent; // ,
float profit; //
float total;
//
printf("\n\n");
printf(", . -> ");
scanf("%f",&sum);
printf(" , . -> ");
scanf("%i",&period);
if ( sum < 5000)
percent = 10;
else
percent = 13;
profit = sum * percent/100/12 * period;
total = sum + profit;
printf("\n: %3.2f .", sum);
printf("\n : %i .", period);
printf("\n : %2.2f", percent);
printf("\n: %3.2f .", profit);
printf("\n : %3.2f .", total);
printf("\n\n <Enter>");
getch();
}

43

80. .
: . . 5000 ., 9%,
5000 ., 10 000 ., 11%,
10 000, 13%. (, , ).

, . -> 15000
, . -> 6
--------------------------: 15000.00 .
: 6 .
: 13.00
: 975.00 .
: 15975.00 .

80
//
#include "stdio.h"
#include "conio.h"
void main()
{
float sum;

//

int period;

//

float percent; //
float profit;

//

float total;

//

printf("\n\n");

printf(", . -> ");


scanf("%f",&sum);
printf(", . -> ");

44
scanf("%i",&period);
if ( sum < 5000)
percent = 9;
else
if ( sum < 10000)
percent = 11;
else
percent = 13;
profit = sum * percent/100/12 * period;
total = sum + profit;
printf("\n---------------------------");
printf("\n: %3.2f .", sum);
printf("\n: %i", period);
printf("\n: %3.2f", percent);
printf("\n: %3.2f .", profit);

printf("\n : %3.2f .", total);


printf("\n\n <Enter>");
getch();
}

81. . 912 1015. 10, 5%.


(,
, ).

(1 912; 2 1015) > 2


, . -> 15
---------------------------: 3.20 .
: 15 .
: 48.00 .
: 2.40 .
: 45.60 .

45

81
// -
//
#include "stdio.h"
#include "conio.h"
void main()
{
int format; // : 1 - 912; 2 - 1015
int kol;

//

float cena; //
float sum;

//

float discount = 0; //
float total;

//

printf("\n\n");
printf(" (1 - 9x12; 2 - 10x15) -> ");
scanf("%i",&format);
printf(", . -> ");
scanf("%i",&kol);

if ( format == 1 )
cena = 2.50;
else
cena = 3.20;
sum = cena * kol;
if ( kol > 10 )

46
{
discount = sum * 0.05;
total = sum - discount;
}

printf("\n-------------------------");
printf("\n: %3.2f .", cena);
printf("\n: %i", kol);
printf("\n: %3.2f .", sum);
if ( discount != 0)
{
printf("\n: %3.2f .", discount);
printf("\n : %3.2f .", total);
}

printf("\n\n <Enter>");
getch();
}

82. , , (I = P/U, : I , ; P
, ; U , ). ,
( ), . (, , ).

, -> 60
, -> 0
! .

82
//
#include <stdio.h>

47

#include <conio.h>
void main()
{
float P,U,I; // , ,
printf("\n \n");
printf(", -> ");
scanf("%f", &P);
printf(", -> ");
scanf("%f", &U);
if (U != 0)
{
I = P / U;
printf(" : %5.2f , I);
}
else
printf("! !\n");
printf("\n <Enter>");
getch();
}

83. .
. (,
, ).

:
() -> 3.5
() -> 7
!

83
//
#include <stdio.h>

48
#include <conio.h>
void main()
{
float r1,r2; //
float s;
//

printf("\n :\n");
printf(" () -> ");
scanf("%f",&r1);
printf(" () -> ");
scanf("%f",&r2);
if (r1 > r2)
{
s = 2 * 3.14 * (r1 - r2);
printf("\n %6.2f .\n", s);
}
else
{
printf("\n! ");
printf(" .\n");
}
printf("\n <Enter>");
getch();
}

84. , . , ,
. . ,
, .
(.) -> 2.90
! 60
<Enter>

84
//
#include <stdio.h>

49

#include <conio.h>
void main()
{
float t;

// , 1.25

int ts;

//

int min;

//

int sek;

//

printf(" (.) -> ");


scanf("%f", &t);
min = t; // t float, - ""
sek = (t - min) * 100;
if (sek > 60)
{
printf("!");
printf(" 60");
}
else
{
ts = min * 60 + sek;
printf("%i %i = %i ", min, sek, ts);
}
printf("\n <Enter>");
getch();
}

85. , , . . , , .
, 2000, <Enter>
->2001
2000
<Enter>

85
// ,
#include <stdio.h>
#include <conio.h>

50
void main()
{
int year;
int r;

// year 4

printf(" , 2001, <Enter>");


printf("->");
scanf("%i", &year);
r = year % 4;
if ( r )
printf("%i - \n", year);
else
printf("%i - \n", year);
printf("\n <Enter>");
getch();
}

86. .
, , . (,
, ).

<Enter>
-> 12 27 -10
:
x1= -25.551
x2= -28.449

86
//
#include <stdio.h>
#include <conio.h>
#include "math.h"
void main()
{

51

float a,b,c;

//

float x1,x2;

//

float d;

//

printf("\n \n");
printf(" ");
printf(" <Enter>");
printf("-> ");
scanf("%f%f%f", &a, &b, &c); //
d = b*b - 4*a*c;

//

if (d < 0)
printf(" \n");
else {
x1 = (-b + sqrt(d))/(2*a);
x2 = (-b - sqrt(d))/(2*a);
printf(" : x1=%3.2f x2=%3.2f\n", x1, x2);
}
printf("\n <Enter>");
getch();
}

87.
. 10% ,
1000 .
(, , ).

-> 1200
10%
: 1080.00 .

88.
. 3% ,
500 , 5% 1000 . -

52

(,
, ).

<Enter>
-> 640
3%
: 620.80 .

88
//
#include <stdio.h>
#include <conio.h>
void main()
{
float summ; //
printf("\n \n");
printf(" <Enter>");
printf("-> ");
scanf("%f", &summ);
if (summ < 500)
printf(" .\n");
else {
printf(" ");
if (summ > 1000) {
printf("5%\n");
summ = 0.97 * summ;
}
else {
printf("3%\n");
summ = 0.97 * summ;
};
printf(" : %3.2f .\n", summ);
}
printf("\n <Enter>");
getch();
}

53

89. . , .
(, , ).
-?
<Enter>
-> 1705
, - 1703

89
//
#include <stdio.h>
#include <conio.h>
void main()
{
int year;

//

printf("\n -?\n");
printf(" <Enter>");
printf("-> ");
scanf("%i", &year);
if (year == 1703)
printf(".");
else {
printf(" , ");
printf("- 1703 .\n");
}
printf("\n <Enter>");
getch();
}

90.
. ,
.

54

(, , ).
?
<Enter>
-> 1939

91. .
. .
(,
, ).
:
1.
2.
3.
<Enter>
-> 3
.
-

91
//
#include <stdio.h>
#include <conio.h>
void main()
{
int otv; //
printf(" :\n");
printf("1. \n");
printf("2. \n");
printf("3. \n");
printf(" <Enter>");
printf("-> ");
scanf("%i", &otv);

55

if (otv == 2)
printf(".");
else {
printf(" .\n ");
printf(" \n");
}
printf("\n <Enter>");
getch();
}

92. .
. .
(,
, ).
:
1. , -
2. -

3.
<Enter>
-> 1
.
: 2

93. ,
. ,
, , , . .
<Enter>
-> 34 67
34 67
93
//
#include <stdio.h>
#include <conio.h>
void main()

56
{
int a,b; //
printf("\n ");
printf(" <Enter>");
printf("->");
scanf("%i%i", &a, &b);
if (a == b)
printf(" ");
else if (a < b)
printf("%i %i\n", a, b);
else

printf("%i %i\n", a, b);

printf("\n <Enter>");
getch();
}

94. ,
, , "!" " " .
(, , ).
67 ?
<Enter>
-> 56
. 67=42

94
//
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

// srand

#include <time.h>

// time

void main()
{
int m1, m2, p; //

57

int otv;

//

time_t t;

// -
//

srand((unsigned) time(&t));; //
//
m1 = rand() % 9 +1;

// rand() 9
// 0 8

m2 = rand() % 9 +1;
p = m1 * m2;
printf(" %ix%i ?\n", m1, m2);
printf(" <Enter>");
printf("-> ");
scanf("%i", &otv);
if (p == otv)
printf(".");
else
printf(" .\n%ix%i=%i", m1, m2, p);
printf("\n <Enter>");
getch();
}

95. ,
( 100), ,
"!" " " .
(, , ).
83-17 ?
<Enter>
-> 67
. 83-17=66

96. , , . -

58

(, , ).
<Enter>
-> 23
23 - .

96
//
#include <stdio.h>
#include <conio.h>
void main()
{
int n; //
printf("\n <Enter>");
printf("-> ");
scanf("%i", &n);
printf(" %i ");
if (n % 2 == 0)
printf(".");
else
printf(".");
printf("\n\n <Enter>");
getch();
}

97. , ,
. (, , ).
<Enter>
-> 451
451

98. 20%- ,

59

.
(, , ).

:
( ) -> 3
(1 - , ... 7 - ) -> 6
20%.
: 5.52 .

98
//
//

#include <stdio.h>
#include <conio.h>
void main()
{
int time;

//

int day;

//

float summa;

//

printf("\n \n");
printf(" :\n");
printf(" ");
printf("( - ) ->");
scanf("%i", &time);
printf(" ");
printf(" (1-,..,7-) ->");
scanf("%i", &day);
summa = 2.3 * time;

// 2.3 .

if (day == 6 || day == 7)
{
printf(" 20%\n");
summa = summa * 0.8;
};

60
printf(" : %3.2f .\n",summa);
printf("\n <Enter>");
getch();
}

99. ,
,
.
: () 100.
(, , ).

() () <Enter>
->170 68
2.00 .

99
//
#include <stdio.h>
#include <conio.h>
void main()
{
float w;

//

float h;

//

float opt; //
float d;

//

printf("\ , ,\n");
printf(" () (), <Enter>");
printf("->");
scanf("%f%f", &h, &w);
opt = h - 100;
if (w == opt)
printf(" !");
else

61

if (w < opt)
{
d = opt - w;
printf(" %2.2f .\n", d);
}
else
{
d = w - opt;
printf(" %2.2f .\n", d);
}
printf("\n <Enter>");
getch();
}

100. ,
. , " ".
.
( 1 12)
-> 11

100
//
#include <stdio.h>
#include <conio.h>
void main()
{
int month; //
puts("\n ( 1 12)");
printf("-> ");
scanf("%i", &month);
if (month < 1 && month > 12)

62
printf(" 1 12");
else if (month >= 3 && month <= 5)
printf("");
else if (month >= 6 && month <= 8)
printf("");
else if (month >= 9

&& month <= 11)

printf("");
else printf("");
printf("\n\n <Enter>");
getch();
}

101. ,
: " ",
"" "".
102. , ( 1 999) "" , , 12 ,
21 . .
102
// ""
#include <stdio.h>
#include <conio.h>
void main()
{
int n; //
int r; // n 100 (
// ), - 10 ( )
printf("\n , 999 -> ");
scanf("%i", &n);
printf("%i ", n);
//
// , 11 14

63

if (n > 100)
r = n % 100;
else r = n;
// r -
if ( r >= 11 && r <= 14 )
printf("\n");
else
{
r = r % 10;
// r -
if ( r >= 2 && r <= 4 )
printf("\n");
else if (r == 1)
printf("\n");
else printf("\n");
}
printf("\n <Enter>");
getch();
}

103. , ( 1 99),
, "" , , 5 , 41 . .
104. ,
. (, , ).
( ) -> 31 12 2008
!
!
1.1.2009

104
//
#include <stdio.h>
#include <conio.h>

64
void main()
{
int day;
int month;
int year;
int last;

// 1,

int r;

// ,
// year 4

printf(" () ");
printf(" \n");
printf("( ) -> ");
scanf("%i%i%i", &day, &month, &year);
last = 0;
if (month == 2) {
if ((year % 4) != 0 && day == 28) last = 1;
if ((year % 4) == 0 && day == 29) last = 1;
}
else if ((month == 4 || month == 6 ||
month == 9 || month == 11)
&& (day == 31))
last = 1;
else if (day == 31)
last = 1;
if (last == 1) {
printf(" !\n");
day = 1;
if (month == 12) {
month = 1;
year++;
printf(" !\n");
}
else month++;

65

}
else day++;
printf(" %i %i %i",day,month,year);
printf("\n <Enter>");
getch();
}

switch

, , :
switch -

.
, switch, :

n1
default

n2
n3
1

- ,
case.
-

, case, , default.
- -

66

105. , . : ( ,
) (, , ).
(,
, ).

() > 75
() > 150
:
1
2
3
> 3
---------------------------- . : 350.00 .
: 1.13 . .
: 393.75 .

105
// -
//
#include "stdio.h"
#include "conio.h"
void main()
{
float w,h; // ,
int m;

// :
// 1 - ; 2 - ; 3 - ;

float cena; // 1 . .
float s;

//

float sum;

//

printf("\n\n");
printf("\n (.) -> ");


scanf("%f",&w);
printf(" () -> ");
scanf("%f",&h);
printf(":\n");
printf("1 - \n");
printf("2 - \n");
printf("3 - \n");
printf(" ->");
scanf("%i",&m);
switch ( m )
{
case 1: cena = 200; break;
case 2: cena = 250; break;
case 3: cena = 350; break;
default: cena = 0; break;
}
if ( cena != 0 )
{
s = (w * h) / 10000;
sum = s * cena;
printf("\n . : %3.2f .", cena);
printf("\n: %3.2f . ", s);
printf("\n : %3.2f .", sum);
}
else
printf("\n ");
printf("\n\n <Enter>");
getch();
}

67

68

106. , . :
(912, 1015 1824) . 10,
10%.
(, , ).

:
1 912
2 1015
3 1824
> 1
> 12
----------------------------: 3.50 .
: 12 .
: 42.00 .
: 4.20 .
: 37.80 .

106
// -
#include "stdio.h"
#include "conio.h"
void main()
{
int k; //
int f; // : 1 - 912; 2 - 1215; 3 - 1824
float cena;

// 1 .

float sum;

//

float discount; //
float itog;
printf("\n\n");
printf(":\n");
printf("1 - 912\n");


printf("2 - 1215\n");
printf("3 - 1824\n");
printf(" ->");
scanf("%i",&f);
switch ( f )
{
case 1: cena = 3.50; break;
case 2: cena = 5.00; break;
case 3: cena = 8.50; break;
default: cena = 0; break;
}

printf(" (.) -> ");


scanf("%i",&k);

if ( cena != 0 )
{
sum = k * cena;
printf("\n .: %3.2f .", cena);
printf("\n: %i .", k);
if ( k > 10 )
{
discount = sum * 0.1;
itog = sum - discount;
printf("\n: %3.2f .",sum);
printf("\n: %3.2f .", discount);
printf("\n : %3.2f .",itog);
}
else

69

70
printf("\n : %3.2f .", sum);
}
else
printf("\n ");
printf("\n\n <Enter>");
getch();
}

107. , . : ( 92, 95, 98 ) .


(, , ).

:
1 92
2 95
3 98
4 DT
> 2
> 25
---------------------------- : 20.30 .
: 25
: 507.50 .

107
// -
#include "stdio.h"
#include "conio.h"
void main()
{
int m; // : 1 - 92; 2 - 95; 3 - 98; 4 - DT
float cena; // 1
float litr; //
float sum;

//


printf("\n\n");
printf(" :\n");
printf("1 - 92\n");
printf("2 - 95\n");
printf("3 - 98\n");
printf("3 - DT\n");
printf(" ->");
scanf("%i",&m);
switch ( m )
{
case 1: cena = 17.50; break;
case 2: cena = 20.30; break;
case 3: cena = 25.40; break;
case 4: cena = 18.50; break;
default: cena = 0; break;
}
printf(" -> ");
scanf("%f",&litr);
if ( cena != 0 )
{
sum = litr * cena;
printf("\n : %3.2f .", cena);
printf("\n: %3.2f", litr);
printf("\n : %3.2f .", sum);
}
else
printf("\n ");
printf("\n\n <Enter>");
getch();
}

71

72

108. ,
.
,
.
108
//
#include <stdio.h>
#include <conio.h>
void main()
{
int nd; //
puts("\n (1..7");
printf("->");
scanf("%i", &nd);
switch (nd)
{
case 1:

puts(""); break;

case 2:

puts("");

break;

case 3:

puts("");

break;

case 4:

puts("");

break;

case 5:

puts("");

break;

case 6:

puts("");

break;

case 7:

puts(""); break;

default: puts(" 1..7");


}
getch();
}

109. , .
:

3 .

6 .

12 .

18 .

24 .

36 .

9,0%

11,5%

13,5%

15,0%

18,0%

24,0%

73

109
//
#include "stdio.h"
#include "conio.h"
void main()
{
float value;
int period;
float rate;
float profit;
printf("value->");
scanf("%f",&value);
printf("period->");
scanf("%i",&period);
switch ( period )
{
case 3:

rate=9.0; break;

case 6:

rate=11.5; break;

case 12: rate=13.5; break;


case 18: rate=15.0; break;
case 24: rate=18.0; break;
case 36: rate=24; break;
default: period = 0;
}
if ( period !=0 )
{
printf("\nrate: %6.2f", rate );
profit = value * rate/100/12 * period;

74
printf("\nprofit: %6.2f", profit);
}
else
printf("Not valid period");

printf("<Enter>");
getch();
}

110. , (
, ).
: .
,
(, ,
).

(.)

423

2,2

495

1,0

815

1,2

846

1,4


:
-> 423
()-> 3
:
: 2.20 .
: 6.60 .

110
//
//
#include <stdio.h>
#include <conio.h>
void main()

75

{
int kod;

//

float cena;

//

int dlit;

//

float summ;

//

printf("\n .\n");
printf(" :\n");
printf(" ( - ) ->");
scanf("%i", &dlit);
puts(" ");
puts("\t432");
puts("\t\t495");
puts("\t815");
puts("\t\t846");
printf("->");
scanf("%i", &kod);
printf(": ");
switch (kod)
{
case 432: puts("");
cena = 2.2;
break;
case 495:

puts("");
cena = 1;
break;

case 815: puts("");


cena = 1.2;
break;
case 846: puts("");
cena = 1.4;
break;
default:

printf(" .");
cena = 0;

76
}
if (cena != 0) {

summ = cena * dlit;


printf(" : %i .\n", cena);
printf(" : %3.2f .\n", summ);
}
printf("\n <Enter>");
getch();
}

111. , . : (d + 1 (13m 1) + Y + Y + c 2c + 777) mod 7 .


5

4 4

d , m ,
, ( 1, 2, ...,
12), Y , c . ,
.
: 1 , 2 ,
..., 6 , 0 .
111
//
#include <stdio.h>
#include <conio.h>
void main()
{
int day,month,year; // , ,
int c,y;

//

int m;

//

int d;

//

puts("\n ");

77

puts(" : .");
puts(", 5 12 2001");
printf("->");
scanf("%i %i %i", &day, &month, &year);
if (month == 1 || month == 2)
year--;

//
//

m = month - 2;

//

if (m <= 0) m += 12; //
// m -
c = year / 100;
y = year - c*100;
d = (day+(13*m-1)/5+y+y/4+c/4-2*c+777)%7;
switch (d)
{
case 1: puts(""); break;
case 2: puts("");

break;

case 3: puts("");

break;

case 4: puts("");

break;

case 5: puts("");

break;

case 6: puts("");

break;

case 0: puts("");
}
printf("\n <Enter>\n");
getch();
}

78

for

, , :
for -

.
, for, :

K-

- .
-

112. ,
10 .
113. ,
y = 2,4x2 + 5x 3 2 2, 0,5.
.
--------------x |
y
---------------2 | -22.60
-1.5 | -15.90
-1 | -10.40

79

-0.5 | -6.10
0 | -3.00
0.5 | -1.10
1 | -0.40
1.5 | -0.90
2 | -2.60
----------------

113
//
#include <stdio.h>
#include <conio.h>
#define LB -2.0 //
#define HB 2.0 //
#define DX 0.5 //
void main()
{
float x,y;

//

int n;

// -

int i;

//

n = (HB - LB)/DX +1;


x = LB;
printf("------------------\n");
printf("
x
|
y\n");
printf("------------------\n");
for (i = 1; i<=n; i++)
{
y = -2.4*x*x+5*x-3;
printf("%6.2f | %6.2f\n" ,x ,y);
x += DX;
}
printf("------------------\n");
printf("\n <Enter>");
getch();
}

80

114. ,
. .

-------------
-------------1
1
2
4
3
9
4
16
5
25
6
36
7
49
8
64
9
81
10
100
--------------

114
//
#include <stdio.h>
#include <conio.h>
void main()
{
int x = 1;

//

int y;

//

int i;

//

printf(" \n");
printf("-----------------\n");
printf("\t\n");
printf("-----------------\n");
for (i = 1; i <= 10; i++)
{
y = x*x;
printf("%3i\t%4i\n", x, y);
x += 2;
}

81

printf("-----------------\n");
printf("\n <Enter>");
getch();
}

115. ,
. .
.
-------------
-------------1
1
3
9
5
25
7
49
9
81
--------------

116. ,
( 0,5 ) (v = gt,
g = 9,8 /2 ).
.
------------------------, , /
------------------------0.0
0.00
0.5
4.90
1.0
9.80
1.5
14.70
2.0
19.60
2.5
24.50
3.0
29.40
-------------------------

117. , . :
, . ,
() .
. .
C (.) -> 150000
(.) -> 12
() -> 14

82
----------------------------------

----------------------------------1 150000.00
1750.00
14250.00
2 137500.00
1604.17
14104.17
3 125000.00
1458.33
13958.33
4 112500.00
1312.50
13812.50
5 100000.00
1166.67
13666.67
6
87500.00
1020.83
13520.83
7
75000.00
875.00
13375.00
8
62500.00
729.17
13229.17
9
50000.00
583.33
13083.33
10
37500.00
437.50
12937.50
11
25000.00
291.67
12791.67
12
12500.00
145.83
12645.83
---------------------------------- : 11375.00

117
//
#include "stdio.h"
#include "conio.h"
void main()
{
float value; //
int period;

//

float rate;

//

float debt; // ,
float interest; // ( )
float paying;

//

float suminterest; //
printf(", .,-> ");
scanf("%f",&value);
printf(", .,-> ");
scanf("%i",&period);
printf(" , -> ");

83

scanf("%f",&rate);
debt = value;
suminterest = 0;
printf("-----------------------\n");
printf("

\n");

printf("-----------------------\n");
for ( int i = 1; i <= period; i++)
{
interest = debt * (rate/12/100);
suminterest += interest;
paying = value/period + interest;
printf("%2i

%9.2f

%9.2f

%9.2f\n",

i,debt,interest, paying);
debt = debt - value/period;
}
printf("-----------------------\n");
printf("\n : %3.2f",suminterest);
printf("\n <Enter>");
getch();
}

118. ,
(F= 5/9C + 32).
.
.
t1 > 0
t2 > 10
dt> 1
----------------C
F
----------------0.00
32.00
1.00
33.80
2.00
35.60
3.00
37.40

84
4.00
39.20
5.00
41.00
6.00
42.80
7.00
44.60
8.00
46.40
9.00
48.20
10.00
50.00
-----------------

118
//
//
#include "stdio.h"
#include "conio.h"
void main()
{
float t1,t2,dt; //
float c,f;

//

int n;

//

printf("t1->");
scanf("%f",&t1);
printf("t2->");
scanf("%f",&t2);
printf("dt->");
scanf("%f",&dt);
n = (t2 - t1)/dt + 1;
c = t1;
printf("\n----------------\n");
printf("\n

F\n");

printf("\n----------------\n");
for (int i=0; i<n; i++)
{

85

f = (float)9/5 * c + 32;
printf("%5.2f

%5.2f\n", c,f);

c = c + dt;
}
printf("\n----------------\n");
printf("\n <Enter>\n");
getch();
}

119. , (1 = 2,54 ).
.
120. , n
.
.
(, ,
).

-> 20
20 210

120
// n
#include <stdio.h>
#include <conio.h>
void main()
{
int n;

// -

int summ;

//

int i;

//

printf(" \n");
printf(" -> ");

86
scanf("%i", &n);
summ = 0;
for (i = 1; i <= n; i++)
summ = summ+i;

printf(" %i ",n);
printf(" %i", summ);
printf("\n\n <Enter>");
getch();
}

121. , n
.
. (,
, ).

<Enter>
-> 12
12 156

122. , n
: 1, 3, 5, 7 ...
. (, , ).
: 1,3,5,7, ...

->15
15 330
122
// : 1,3,6,9 ...
#include <stdio.h>
#include <conio.h>
void main()
{
int e;

//


int n;

87
// -

int summ = 0; //
int i;

//

printf(" : 1,3,6,9, ...\n");


printf(" -> ");
scanf("%i", &n);
e = 1;
for (i = 1; i <= n; i++)
{
summ += e;
e += 2;
}
printf(" %i %i", n, summ);
printf("\n <Enter>");
getch();
}

123. , n
1 1 1
: 1+ + + + ...
2 3 4
. (, , ).
: 1+1/2+1/3+ ...
- ->15
15 3.3182
123
// 1+1/2+1/3+ ...
#include <stdio.h>
#include <conio.h>
void main()
{

88
int n;
float i;

// -
// ; int,
// 1/i
//

float elem;

//

float summ = 0 ; //
printf(" 1+1/2+1/3+...\n");
printf(" - \n");
printf("-> ");
scanf("%i",&n);
summ = 0;
for (i = 1; i <= n; i++) {
elem = 1 / i;
summ += elem;
}
printf(" %i", n);
printf(" %6.3f",summ);
printf("\n <Enter>");
getch();
}

124. ,
, .
.

0
1
2
3
4
5
6
7
8
9
10

1
2
4
8
16
32
64
128
256
512
1024

89

124
//
#include <stdio.h>
#include <conio.h>
void main()
{
int n;

//

int x;

// 2 n

printf("\n \n");
x = 1;
for (n = 0; n <= 10; n++)
{
printf("%3i%5i\n", n, x);
x *= 2;
}
printf("\n <Enter>");
getch();
}

125. , . ( n 1 n. , 1 1,
8 40 320).

,
-> 7
7 5040

126. ,
. . , , .
.
<Enter>
-> 5.4
-> 7.8

90
-> 3.0
-> 1.5
-> 2.3
: 4.00
<Enter>

127. , . . .

.
-> 5
.
<Enter>
-> 5.4
-> 7.8
-> 3.0
-> 1.5
-> 2.3
: 4.00
<Enter>

128. ,
. .

<Enter>
-> 12.3
: 1 : 12.30 . .:
-> 15
: 2 : 27.30 . .:
-> 10
: 3 : 37.30 . .:
-> 5.6
: 4 : 42.90 . .:
-> 11.5
: 5 : 54.40 . .:

12.30
13.65
12.43
10.73
10.88

<Enter>

128
// ,
#include <stdio.h>

91

#include <conio.h>
#define L 5 //
void main()
{
float a;

//

int n;

// -

float sum;

//

float sred;

//

printf("\n \n");
printf(" <Enter>");
sum = 0;
for (n = 1; n <= L; n++)
{
printf("-> ");
scanf("%f", &a);
sum += a;
printf(" : %i ", n);
printf(": %6.2f\n", sum);
}
sred = sum / L;
printf(". : %6.2f\n", sred);
printf("\n <Enter>");
getch();
}

129. , , . ,
. .

92

. , ,
.
.
-> 5
.
<Enter>
-> 5.4
-> 7.8
-> 3.0
-> 1.5
-> 2.3
: 5
: 4.00
: 1.5
: 7.8
<Enter>

129
//
//
// ,
#include <stdio.h>
#include <conio.h>
void main()
{
float a;

//

int n;

//

float sum;

//

float sred;

//

float min;

//

float max;

//

int i;

//

printf(" .\n");
printf(" ->");
scanf("%i", &n);
printf(" .\n");
printf(" <Enter>");
printf("->");

93

scanf("%f",&a); //
// , :
min = a; //
max = a; //
sum = a;
//
for (i = 1; i < n; i++)
{
printf("->");
scanf("%f", &a);
sum += a;
if (a < min)

min = a;

if (a > max)

max = a;

}
sred = sum / n;
printf(" : %i\n", n);
printf(" : %6.2f\n", sred);
printf(" : %6.2f\n", min);
printf(" : %6.2f\n", max);
printf("\n <Enter>");
getch();
}

130. , 10 ( 1 10),
. .

1
3
4
2
7
4
9
6
2
1
. .: 3.90

94

131. , ( 1 10).

.
.

6 10 4 2 5 8 1 7 7 3 . .: 5.30
10 3 6 1 10 1 3 8 7 6 . .: 5.50
5 2 2 5 4 2 2 1 6 10 . .: 3.90
<Enter>

131
//
//
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

// srand rand

#include <time.h>
#define L 10

//

#define N 3

//

void main()
{
int r;

//

int sum;

// summa

float sred;

//

int i,j;

//

time_t t;

// -
//

srand((unsigned) time(&t));; //
//
for (i = 1; i <= N; i++)
{
//
printf("\n : ");


sum = 0;

95
// !

for (j = 1; j <= L; j++)


{
r = rand() % 10 +1 ;
printf("%i ", r);
sum += r;
}
sred = (float)sum / L;

//

printf("\n..: %3.2f\n", sred);


}
printf("\n <Enter>");
getch();
}

132. , , , 100 1
100 . (, , ).
<Enter>
( )
-> 16.50
, .
100
200
300
400
500
600
700
800
900
1000

, .
1.65
3.30
4.95
6.60
8.25
9.90
11.55
13.20
14.85
16.50

133. ,
y = | x |. 4 4,
0,5.

96
133
// y=|x|
#include <stdio.h>
#include <conio.h>
#include "math.h"
#define

#define

#define

LB -4 // HB

4 // -

DX

0.5

//

void main()
{
float x,y;

//

int n;

// -

int i;

//

printf("\n y=|x| \n");


n = (HB - LB)/DX + 1;
x = LB;
for (i = 1; i <= n; i++)
{
y = fabs(x);
printf("%4.2f
x += DX;

%3.2f\n", x, y);

}
printf("\n <Enter>");
getch();
}

134. ,
y = | x 2 | + | x + 1 |. 4
4, 0,5.

97

135. , , , 7.
.
72=14
73=21
74=28
75=35
76=42
77=49
78=56
79=63

135
// 7
#include <stdio.h>
#include <conio.h>
void main()
{
int m;

// ,
// ()

int n;

//

int p;

//

m = 7;
printf("\n %i\n", m);
for (n = 1; n<=9; n++)
{
p = m * n;
printf("%ix%i=%i\n", m, n, p);
}
printf("\n <Enter>");
getch();
}

98

136. , . .
1
2
3
4
5
6
7
8
9

1
1
2
3
4
5
6
7
8
9

2
2
4
6
8
10
12
14
16
18

3
3
6
9
12
15
18
21
24
27

4
4
8
12
16
20
24
28
32
36

5
5
10
15
20
25
30
35
40
45

6
6
12
18
24
30
36
42
48
54

7
7
14
21
28
35
42
49
56
63

8
8
16
24
32
40
48
56
64
72

9
9
18
27
36
45
54
63
72
81

10
10
20
30
40
50
60
70
80
90

136
// -
#include <stdio.h>
#include <conio.h>
void main()
{
int i,j; //
printf("

");

//

for (j = 1; j <=10; j++) // -


printf("%4i",j);
printf("\n");
for (i = 1; i <=10; i++)
{
printf("%4i",i);
for (j = 1; j <= 10; j++)

//
//

printf("%4i",i*j);
printf("\n");
}
printf("\n <Enter>");
getch();
}

99

137. ,
: 1 1/3 + 1/5 1/7 + 1/9
/4 (
, /4).
137
// ""
// 1 -1/3 + 1/5 - 1/7 + ...
#include <stdio.h>
#include <conio.h>
void main()
{
float x;

//

int n;

//

float summ;

//

int i;

//

// (~1000)
// , ""/4
printf(" 1 -1/3 + 1/5 - 1/7 + ...\n");
printf(" - ->" );
scanf("%i", &n);
summ = 0;
for (i = 1; i <= n; i++)
{
x = (float)1/(2*i - 1);
if ((i % 2) == 0) x = -1 * x;
summ += x;
}
printf(" : %2.6f\n", summ);
printf(" = %2.6f\n", summ * 4);
printf("\n <Enter>");
getch();
}

100

138.
f(x) = 5x2 x + 2 .
x1, x2 x
.

x1

x2

138
//
// ( for)
#include <stdio.h>
#include <conio.h>
void main()
{
float a,b;

//

float dx;

//

float s;

//

int n;

//

float x;

//

float y;

//

int i;
printf("\ \n");
printf(" -> ");
scanf("%f", &a);
printf(" -> ");
scanf("%f", &b);
printf(" -> ");

101

scanf("%f", &dx);
n = (b - a) / dx + 1;
x = a;
s = 0;
for (i = 1; i<=n; i++)
{
y = x*x + 2;

//

s += y*dx;
x += dx;
}
printf(" : %6.3f", s);
printf("\n <Enter>");
getch();
}

139.
f(x) = 5x2 x + 2 .
x1, x2 x
.

x1

x2

139
//
#include <stdio.h>
#include <conio.h>
void main()
{

102
float a,b;

//

float dx;

//

float s;

//

int n;

//

float x;

//

float y1,y2; //
int i;
printf("\n \n");
printf(" \n");
printf(" -> ");
scanf("%f", &a);
printf(" -> ");
scanf("%f", &b);
printf(" -> ");
scanf("%f", &dx);
n = (b - a) / dx;
x = a;
s = 0;
for (i = 1; i <=n; i++)
{
y1 = x*x + 2;

//

x += dx;
y2 = x*x + 2;

//

s += (y1 + y2)*dx/2;
}
printf(" : %6.3f", s);
printf("\n <Enter>");
getch();
}

140. , . "",

103

. .
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *

141. , . .

0 255 <Enter>
->49
49 00110001
<Enter>
141
//

#include <stdio.h>
#include <conio.h>
void main()
{
int dec;

//

int v;

//

int i;

//

printf("\n \n");
printf(" 0 255 <Enter>");
printf("-> ");
scanf("%i", &dec);
printf(" %i ", dec);
v = 128;

// ()

for (i = 1; i <= 8; i++)

104
{
if (dec >= v)
{
printf("1");
dec -= v;
}
else printf("0");

v = v / 2; //
}
printf("\n\n <Enter>");
getch();
}

142. .
10 :
10 "", 9 8 "", 7
6 "", 6 "". . .
*** ***
<Enter>.
5x3=15
77=49
14=4
43=12
94=36
88=64
78=52
! 78=56
47=28
35=15
25=10
: 9
: .

142
//
#include <stdio.h>

105

#include <conio.h>
#include <stdlib.h>

// srand rand

#include <time.h>
void main()
{
int numb1,numb2; //
int res;

//

int otv;

//

int kol = 0;

//

int i;

//

time_t t;

// -
//

printf("\*** ***\n");
printf(" <Enter>");
srand((unsigned) time(&t));; //
//
for (i = 1; i <= 10; i++)

// 10

{
numb1 = rand()%7 + 2 ;

// 2 9

numb2 = rand()%7 + 2 ;
res = numb1 * numb2;
printf("%i%i=", numb1, numb2);
scanf("%i",&otv);
if (otv == res)
kol++;
else printf(" ! %ix%i=%i\n...\n",
numb1, numb2, res);
}
printf("\n : %i\n", kol);
printf(" : ");
switch (kol)

106
{
case 10: puts("5"); break;
case 9:

puts("4"); break;

case 8:

puts("4"); break;

case 7:

puts("3"); break;

default: puts("2"); break;


}
printf("\n <Enter>");
getch();
}

143.
100. 10 ,

, . .
.
: 10 "",
9 8 "", 7 6 "", 6 "". . .
.
<Enter>
75-4=71
35-9=29
! 35-9=26
14-1=13
6-5=1
37-19=28
! 37-19=18
53-14=39
94-87=7
90-16=74
4-2=2
89-41=48
: 8
:

143
//
#include <stdio.h>
#include <conio.h>

107

#include <stdlib.h>

// srand rand

#include <time.h>
#define LEVEL 97+2

// 2 99

void main()
{
int numb1,numb2; //
int op;

// :
// 0 - , 1 -

char zop;

// - "" ""

int res;

//

int otv;

//

int kol = 0;

//

int buf;

// numb1

numb2,

// numb1<numb2
int i;

//

time_t t;

// -
//

printf("\n \n");
printf(" <Enter>");
kol = 0;
srand((unsigned) time(&t));; //

for (i = 1; i <= 10; i++)
{
//
numb1 = rand() % LEVEL;

// 2 99

numb2 = rand() % LEVEL;


op = rand()%2;
if (op == 0)

//

108
{
res = numb1 + numb2;
zop = '+';
}
else
{ //
zop = '-';
if (numb1 < numb2)
{
// numb1 numb2
buf = numb2;
numb2 = numb1;
numb1 = buf;
}
res = numb1 - numb2;
}

printf("%i%c%i=", numb1, zop, numb2); //


scanf("%i", &otv);

//

if (otv == res)
kol++;
else printf(" . %i%c%i=%i\n",
numb1, zop, numb2, res);
}
printf(" : %i\n", kol);
printf(" :\n");
switch (kol)
{
case 10: puts("5"); break;
case 9:

puts("4"); break;

case 8:

puts("4"); break;

case 7:

puts("3"); break;

default: puts("2"); break;


}

109

printf("\n <Enter>");
getch();
}

144. , " ", , ,


, .
144
//
#include <stdio.h>
#include <conio.h>
#include "dos.h"

// delay

void main()
{
int min,sec; // ,
clrscr();

//

_setcursortype(_NOCURSOR);

//

printf(" , ");
for (min = 0; min <= 2; min++)
{
for (sec = 0; sec <= 59; sec++)
{
delay(1000);

// 1000 ms

gotoxy(1,3);

// 1- 1-

printf("%i:%2i", min, sec);


if (kbhit()) break;
}
if (kbhit()) break;
}
_setcursortype(_NORMALCURSOR);
getch(); // ,
printf("\n <Enter>");
getch();
}

110

do ... while

, ,
:
do while , . .

( do while)
.
, do while, :

while -

.
do while

.
do while

, .
do while, ,

,
, .

145. , y = 2,4x2 + 5x 3.

111

.
.
x1 -> -2
x2 -> 2
dx -> 0.5
--------------x |
y
---------------2 | -22.60
-1.5 | -15.90
-1 | -10.40
-0.5 | -6.10
0 | -3.00
0.5 | -1.10
1 | -0.40
1.5 | -0.90
2 | -2.60
----------------

145
//
#include <stdio.h>
#include <conio.h>
void main()
{
float x,y;

//

float x1,x2,dx; //

printf("x1 -> ");


scanf("%f",&x1);
printf("x2 -> ");
scanf("%f",&x2);
printf("dx -> ");
scanf("%f",&dx);
x = x1;

112
printf("------------------\n");
printf("

y\n");

printf("------------------\n");
do
{
y = -2.4*x*x+5*x-3;
printf("%6.2f

| %6.2f\n" ,x ,y);

x += dx;
}
while ( x <= x2 );
printf("------------------\n");
printf("\n <Enter>");
getch();
}

146. ,
(F= 5/9C + 32).
.
.
t1 > 0
t2 > 10
dt> 1
----------------C
F
----------------0.00
32.00
1.00
33.80
2.00
35.60
3.00
37.40
4.00
39.20
5.00
41.00
6.00
42.80
7.00
44.60
8.00
46.40
9.00
48.20
10.00
50.00
-----------------

113

146
//
//
#include "stdio.h"
#include "conio.h"
void main()
{
float t1,t2,dt;
float c,f;
printf("\n ");
printf("\n \n");
printf("t1->");
scanf("%f",&t1);
printf("t2->");
scanf("%f",&t2);
printf("dt->");
scanf("%f",&dt);
printf("\n---------------------\n");
printf("\n

F\n");

printf("\n---------------------\n");
c = t1;
do
{
f = (float)9/5 * c + 32;
printf("%5.2f

%5.2f\n", c,f);

c = c + dt;
}
while ( c <= t2);

114
printf("\n---------------------\n");
printf("\n <Enter>");
getch();
}

147. , ,
. (, , ).
.
. .
>45
>23
>15
>0
: 3
: 83
: 27.67

147
//
//
#include <stdio.h>
#include <conio.h>
void main()
{
int a;

// ,

int n;

//

int s;

//

float m;

//

s = 0;
n = 0;
printf("\ ");
printf(" .\n");

115

printf(" . .\n");
do {
printf("-> ");
scanf("%i", &a);
if (a > 0)
{
s += a;
n++;
}
} while (a > 0);
printf(" : %i\n", n);
printf(" : %i\n", s);
m = (float) s / n;
printf(" : %3.2f", m);
printf("\n\n <Enter>");
getch();
}

148. ,
( ).
(, , ).
.
. .
>56
>75
>43
>0
: 75

148
//
//
#include <stdio.h>
#include <conio.h>
void main()

116
{
int a; //
int m; //

puts("\n ");
puts(" .");
puts(" . .");
m = 0;
do {
printf("-> ");
scanf("%i", &a);
if

(a > m)

a;

} while (a > 0);


printf(" : %i", m);
printf("\n <Enter>");
getch();
}

149. , ( ). (,
, ).
.
. .
>12
>75
>10
>9
>23
>0
: 9

149
//
//
#include <stdio.h>

117

#include <conio.h>
void main()
{
int a;
int min;

//
//

printf("\n \n");
printf(" .\n");
printf(" . .\n");
printf("-> ");
scanf("%i", &a);
min = a;
//
while ( a > 0)
{
if (a < min) min = a;
printf("-> ");
scanf("%i", &a);
}
printf(" : %i\n", min);
printf("\n <Enter>");
getch();
}

150. , , (
, ). . , , .
<Enter>
-> 17
17 - .

150
// ,
#include <stdio.h>
#include <conio.h>

118
void main()
{
int n;

//

int d;

//

int r;

// n d

printf(" -> ");


scanf("%i", &n);
d = 2;

//

do {
r = n % d;
if (r != 0) d++;
}
while ( r != 0 ); // n d
if (d == n)
printf("%i - " ,n);
else

printf("%i - " ,n);

printf("\n\n <Enter>");
getch();
}

151.
.
,
. .
151
//
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{

119

float x1,x2; //
float e;

//

float dx;

//

int n;

//

float x;

//

float y;

//

float st;

//

float sp;

//

int i;
printf("\ \n");
printf(" -> ");
scanf("%f", &x1);
printf(" -> ");
scanf("%f", &x2);
printf(" -> ");
scanf("%f", &e);
dx = 0.5;
st = 0;
do
{
sp = st;
dx = dx / 2;
n = (x2 - x1) / dx;
x = x1;
st = 0;
for (i = 0; i <= n; i++)
{
y = x + 2; //

120
st = st + (y * dx);
x += dx;
}
printf(" : %6.3f\n", st);
}
while ( abs(sp - st) > e);
printf("\n <Enter>");
getch();
}

152. , "" 1 10
.
(, , ).
" ".
"" 1 10.
.
<Enter>
-> 5
.
-> 3
! !

152
// " "
#include <conio.h>
#include <stdlib.h> // srand
#include <time.h>
void main()
{
int comp;

//

int igrok;

//

int n;

//

time_t t;

// -
//

srand((unsigned) time(&t));


comp = rand() % 10 +1 ;

121
// 1 10

clrscr();
cprintf("\n\r \"\" 1 10.\n\r");
cprintf(" ");
n = 0;
do {
cprintf("\n\r->");
cscanf("%i",&igrok);
n++;
}

while ((igrok != comp)&&(n < 3));

if (igrok == comp)
{
textcolor(RED+BLINK);
cprintf("\n\r !");
}
else
{
textcolor(GREEN);
cprintf("\n\r .);
cprintf(" %d",comp);
}
textcolor(LIGHTGRAY);
cprintf("\n\r ...");
getch();getch();
}

153.
. .
, .

122

while

, ,
:
While , . . ,


.
, do while, :

while , -

( ).
while ,

, , .
while -

, ,
.

154. , y = 2x2 5x 8 4 4. 0,5.

123

154
//
#include <stdio.h>
#include <conio.h>
void main()
{
float x,dx;

//

float x1,x2;

//

float y;

//

x1 = -4;
x2 = 4;
dx = 0.5;
x = x1;
printf("--------------\n");
printf("

y\n");

printf("--------------\n");
while (x < x2)
{
y = x*x + 2;
printf("%3.2f

| %3.2f\n", x, y);

x += dx;
}
printf("--------------\n");
printf("\n <Enter>");
getch();
}

155. , ""
.
,
1 1/3 + 1/5 1/7 + 1/9 ..., , /4.

124

(, , ).
-> 0.001
0.001000 3.143589
502 .

155
// ""
#include <stdio.h>
#include <conio.h>
void main()
{
float p;
//
float t;
//
int n;
//
float el; //
p = 0;
n = 1;
el = 1; //
printf("\n -> ");
scanf("%f", &t);
printf(" %f\n",t);
while (el >= t )
{
el = (float) 1 / (2*n -1);
if ((n % 2) == 0)
p -= el;
else p += el;
n++;
}
p = p*4;
printf("\n %f %f\n", t, p);
printf(" %i .\n", n);
printf("\n <Enter>");
getch();
}

125

156. ,
.
156
//
// ( )
#include <stdio.h>
#include <conio.h>
void main()
{
int n1,n2;

//

int nod;

//

int r;

// n1 n2

printf("\n ");
printf(" .\n");
printf(" ");
printf(" <Enter>");
printf("-> ");
scanf("%i%i", &n1, &n2);
printf(" %i %i - ", n1, n2);
while (n1 % n2)
{
r = n1 % n2; //
n1 = n2;
n2 = r;
}
nod = n2;
printf("%i\n", nod);
printf("\n <Enter>");
getch();
}

126


, ,
:
, -

, , .

.
.

() . , .
0 n 1, n
.

.
-

, #define.
,

(for, while).
-

, . . .

157. , ,
. .

127

.

<Enter>
a[0] -> 10
a[1] -> 16
a[2] -> 14
a[3] -> 5
a[4] -> 10
a[5] -> 22
a[6] -> 22
: 10
16
14
5
10
: 14.00

22

22

157
// ,
#include <stdio.h>
#include <conio.h>
void main()
{
int a[7]; //
int sum;

//

float m;

//

int j;
printf("\n ");
printf(" <Enter>\n");
//
for ( j = 0; j < 7; j++)
{
printf("na[%i] -> ", j);
scanf("%i",&a[j]);
}
//
printf("\n: \n");

128
for ( j = 0; j < 7; j++)
{
printf("%i
", a[j]);
}
sum = 0;
//
for ( j = 0; j < 7; j++)
{
sum = sum + a[j];
}
m = sum / 7;
printf(" : %f", m);
printf("\n <Enter>");
getch();
}

158. ,
, , .
.

<Enter>
a[1] -> 12
a[2] -> 0
a[3] -> 3
a[4] -> -1
a[5] -> 0
------------------------ : 3

158
//
// ( )
#include <stdio.h>

129

#include <conio.h>
#define SIZE 5 //
void main()
{
int a[SIZE];

//

int n = 0;

// - -

int i;

//

printf("\n .\n");
printf(" ");
printf(" <Enter>\n");
for (i = 0; i < SIZE; i++)
{
printf("a[%i] ->",i+1);
scanf("%i", &a[i]);
if (a[i] != 0)

n++;

}
printf(" %i .\n", n);
printf("\n <Enter>");
getch();
}

159. , . (,
, ).

5
<Enter>
-> 23 0 45 -5 12
: -5

159
//
#include <stdio.h>
#include <conio.h>

130
#define HB

//

void main()
{
int a[HB];

//

int min;

//

int i;

//

printf("\n \n");
printf(" ");
printf("%i <Enter>\n", HB);
printf("-> ");
for (i = 0; i < HB; i++)
scanf("%i",&a[i]);
min = 0; // , -
// -
for (i = 1; i < HB; i++)
if (a[i] < a[min])

min

i;

printf(" : a[%i]=%i ",


min+1, a[min]);
printf("\n <Enter>");
getch();
}

160. , .
.
160
//
// ( )
#include <stdio.h>
#include <conio.h>


#define HB

131
//

void main()
{
int a[HB];

//

int *min;

//

int *p;

//

int i;
printf("\n \n");
printf(" ,\n");
printf("%i <Enter>\n", HB);
printf("-> ");
p = a;
for (i = 1; i <= HB; i++)
scanf("%i", p++);
min = a;

//

p = a + 1;
//

// -
for (i = 2; i <= HB; i++)
{
if (*p < *min) min = p;
p++;

//

}
printf(" : %i\n", *min);
printf("\n <Enter>");
getch();
}

161. , .

132

(, , ).
(10 )
<Enter>
-> 23 0 45 -5 12 0 -2 30 0 64
------------------------------ : 184
: 7
: 23.86

162. , . (, ,
).
min max
(10 )
-> 12 10 5 7 15 4 10 17 23 7
----------------------------- : 4
: 23
. min max :

163. , ( ) .
. (, , ).

-> 12
-> 10
-> 16
-> 18
-> 17
-> 16
-> 14
----------------------------- : 14.71 .

163
// ( )
#include <stdio.h>
#include <conio.h>

133

void main()
{
// -
char *day[] = {"","","",
"","","",""};
float t[7];

//

float sum;

//

float sred;

//

int i;
printf("\n :\n");
for (i = 0; i <= 6; i++)
{
printf("%s->", day[i]);
scanf("%f", &t[i]);
sum += t[i];
}
sred = sum / 7;
printf("\n : %2.1f", sred);
printf("\n <Enter>");
getch();
}

164. , , .
.
164
//
#include <stdio.h>
#include <conio.h>
#define HB 5
void main()
{

134
int m[HB];

//

int obr;

//

int found;

//

int i;
printf("\n \n");
printf(" %i \n", HB);
printf(" <Enter>\n");
printf("->");
for (i = 0; i < HB; i++)
scanf("%i", &m[i]);
printf(" ( )->");
scanf("%i", &obr);
//
found = 0;
i = 0;

//

do {
if (m[i] == obr )
found = 1;
else i++;

//
//

} while (!found && i < HB);


if ( found )
printf(" %i", i+1);
else
printf(" ");
printf("\n <Enter>");
getch();
}

165. , ,
.

135

165
// ,
#include <stdio.h>
#include <conio.h>
#define HB 5
void main()
{
int a[HB];

//

int k;

//

int ok;

// 1 -

printf(", \n");
printf(" \n");
printf(" (%i ", HB);
printf(" ) <Enter>\n");
for (k = 0; k < HB; k++)
scanf("%i", &a[k]);
k = 0;
ok = 1;
do

{
if (a[k] > a[k+1])
ok = 0;
k++;

} while ( k < HB-1 && ok);


printf(" ");
if ( !ok )
printf(" ");
printf(" \n");
printf("\n <Enter>");
getch();
}

136

166. , , .
166
// ,
#include <stdio.h>
#include <conio.h>
#define HB 5 //
void main()
{
int a[HB]; //
int obr;

// ()

int n;

// - ,
//

int i;

//

printf(" (%i ", HB);


printf(" )\n");
printf("->");
for (i = 0; i < HB; i++)
scanf("%i",&a[i]);
printf(" ->");
scanf("%i", &obr);
n = 0;
for (i = 0; i < HB; i++)
if (a[i] == obr)

n++;

if ( n )
printf(" %i %i ", obr, n);
else printf(" ");
printf("\n <Enter>");
getch();
}

137

167. , , .
168. , .
168
//
#include <stdio.h>
#include <conio.h>
#define SZ 5 //
void main()
{
int a[SZ];

// of integer;

int i;

// ,
// -

int min;

//
// i

int j;

// -,

int buf;

// -

int k;

//

printf("\n \n");
printf(" ( %i", SZ);
printf(" ) <Enter>\n");
printf("->");
for (k = 0; k < SZ; k++)
scanf("%i", &a[k]);
printf("...\n");
for (i = 0; i < SZ-1; i++)
{
// -
// a[i] -

138
min = i;
for (j = i+1; j < SZ; j++)
if (a[j] < a[min])

min = j;

// a[min] a[i]
buf = a[i];
a[i] = a[min];
a[min] = buf;
//
//
//
for (k = 0; k < SZ; k++)
printf("%i ", a[k]);
printf("\n");
}
//
printf(" \n");
for (k = 0; k < SZ; k++)
printf("%i ", a[k]);
printf("\n");
printf("\n <Enter>");
getch();
}

169. , ("")

.
169
// ""
#include <stdio.h>
#include <conio.h>
#define SZ 5

139

void main()
{
int a[SZ];
int i;

//

int k;

//

int buf;
printf("\n \"\"\n");
printf(" ( %i ", SZ);
printf(" ) <Enter>\n");
for (k = 0; k < SZ; k++)
scanf("%i", &a[k]);
printf("...\n");
for (i = 0; i < SZ-1; i++)
{
for (k = 0; k < SZ-1; k++)
{
if (a[k] > a[k+1])
{
// k- (k+1)-
buf = a[k];
a[k] = a[k+1];
a[k+1] = buf;
}
}
// -
//

for (k = 0; k < SZ; k++)


printf("%i ",a[k]);
printf("\n");
}
printf(" \n");

140
for (k = 0; k < SZ; k++)
printf("%i ",a[k]);

printf("\n\n <Enter>");
getch();
}

170. , ,
. , , , .
,
,
( 5 ) -> 1 3 5 7 9
,
( 5 ) -> 2 4 6 8 10
--------------------------------------- -
1 2 3 4 5 6 7 8 9 10
<Enter>

170
//
#include <stdio.h>
#include <conio.h>
#define SZ 5

//

void main()
{
int a[SZ], b[SZ];

//

int c[SZ*2];

// -

int k,i,m;

// a,b

printf(" ");
printf(" \n");
printf(" ");
printf("(%i ) -> ", SZ);
for (k = 0; k < SZ; k++)

141

scanf("%i", &a[k]);
printf(" ");
printf("(%i ) -> ", SZ);
for (i = 0; i < SZ; i++)
scanf("%i", &b[i]);
k = i = m = 0;
do {
if (a[k] < b[i] )
c[m++] = a[k++];
else
if (a[k] > b[i])
c[m++] = b[i++];
else {
c[m++] = a[k++];
c[m++] = b[i++];
}
} while ( k < SZ && i < SZ); //
//
while (k < SZ) // - ,
c[m++] = a[k++];
while (i < SZ) // - B,
c[m++] = b[i++];
printf(" - : \n");
for (i = 0; i < 2 * SZ; i++)
printf("%i ", c[i]);
printf(" <Enter>\n");
getch();
}

142

171. , , ,
.
171
//
#include <stdio.h>
#include <conio.h>
#define SZ 10

//

void main()
{
int a[SZ]; //
int obr;

//

int ok;

// 1 -

int verh,niz;

// ,
//

int sred;

//

int found;

// 1 -

int n;

//

int i;
//
printf("*** ***\n");
printf(" ( %i ", SZ);
printf(" ) <Enter>\n");
printf("-> ");
for (i = 0; i < SZ; i++)
scanf("%i", &a[i]);
// ,
ok = 1; //
i = 0;
do
if (a[i] <= a[i+1])

143

i++;
else ok = 0;
while (ok && i < SZ -1);
if ( !ok) {
puts(" ");
puts(" \n");
goto bye;
}
printf(" ( ) -> ");
scanf("%i", &obr);
//
verh = 0;
niz = SZ - 1;
found = 0;
n = 0;
do {
sred = (niz-verh) / 2 + verh; //
n++;
if (a[sred] == obr)
found = 1;
else
// , ,
// ?
if ( obr < a[sred])
niz = sred-1;
else verh = sred+1;

//
//

} while (verh <= niz && !found);


if (found) {
printf(" %i ", sred);
printf(" %i " , n);
}

144
else
printf(" \n");
bye:
printf("\n <Enter>");
getch();
}

172. , , .
.
.
*** ***
()
0 <Enter>
-> 175
-> 170
-> 180
-> 168
-> 170
-> 0
---------------------------- : 172.6
2

172
//
#include <stdio.h>
#include <conio.h>
#define

SZ 30

// -

void main()
{
int r;

//

int rost[SZ]; //
int n = 0;

// - ,
//

float sred;
int m = 0;

//
// - ,
//

int sum = 0;

//

145

int i = 0;
printf("*** ***\n");
printf(" () \n");
printf(" 0 <Enter>\n");
do {
printf("-> ");
scanf("%i", &r);
if ( r )
{
rost[i++] = r;
sum += r;
n++;
}
} while (r && i < SZ);
if ( n )
{
sred = (float) sum / n;
m = 0;
//
for (i = 0; i < n; i++)
if (rost[i] > sred) m++;
printf(" : %3.2f \n", sred);
printf(" %i \n", m);
}
printf("\n <Enter>");
getch();
}

173. ,
.

146
173
// ( )
#include <stdio.h>
#include <conio.h>
#define

ROW 3

// -

#define

COL 5

// -

void main()
{
int a[ROW][COL]; //
int s[COL];

//

int i,j;
printf("\n \n");
printf(" ,");
printf("\n%i , <Enter>\n", COL);
for (i = 0; i < ROW; i++) // ROW
{
printf("->");
for (j = 0; j < COL; j++)
scanf("%i", &a[i][j]);
}
printf("\n \n");
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++)
printf("%i " , a[i][j]);
printf("\n");
}
// "" s
for (i = 0; i < COL; i++)

147

s[i] = 0;
//
for (j = 0; j < COL; j++)

//

for (i = 0; i < ROW; i++) // -


s[j] += a[i][j];
printf("------------------------------\n");
for (i = 0; i < COL; i++)
printf("%i ", s[i]);
printf("\n <Enter>");
getch();
}

174. ,
.
175. , .
. . , , .

:
-> 12
-> 10
-> 7
-> 1
------------------------- :

12%
10%

7%

1%
-------------------------- <Enter>

148
175
//
#include <stdio.h>
#include <conio.h>
void main()
{
int n[6];

// , ...

int s = 0;

//

float p[6]; //
char *mes[6] ={"\0", "\0", "\0","\0",
"\0","\0"};
int i;
puts(" ");
puts(" :");
for (i = 5; i >= 2; i--)
{
printf("%s ->", mes[i]);
scanf("%i", &n[i]);
s += n[i];
}
//
for (i = 2; i < 6; i++)
p[i] = (float)n[i]/s*100;
puts(" ");
puts("-----------------------------");
for (i = 5; i >= 2; i--)
printf("%8s %2i
%2.0f%\n",mes[i], n[i], p[i]);
puts("-----------------------------");
puts(" <Enter>");
getch();
}

149

176. , (35
)
. .
(35)

1 -> 12 15 10 22 3
2 -> 10 10 3 5 12
3 -> 11 17 10 9 7
-------------------------------------:
12
15
10
22
3
10
10
3
5
12
11
17
10
9
7
:
1: 12.40
2: 8.00
3: 10.80
<Enter>

176
#include <stdio.h>
#include <conio.h>
void main()
{
int a[3][5]; // 3x5 - 3 5
int r;

//

int c;

//

int sum;

//

float m;

//

int k;
printf("\n \n");
printf(" (5 ) <Enter>\n");
//
k =1;

150
for ( r = 0; r < 3; r++)
{
printf(" %i -> ", k);
for ( c = 0; c < 5; c ++)
{
scanf("%i",&a[r][c]);
}
k++;
}
printf("\n--------------------------\n");
//
printf("\n\n");
for ( r = 0; r < 3; r++)
{
for ( c = 0; c < 5; c ++)
{
printf("%5i",a[r][c]);
}
printf("\n");
}
//
printf(" :\n");
k = 1;
for ( r = 0; r < 3; r++)
{
//
//
sum = 0;
for ( c = 0; c < 5; c ++)
{
sum = sum + a[r][c];
}
m = (float) sum / 5;

151

printf(" %i: %5.2f\n", k, m);


k++;
}
printf("\n <Enter>");
getch();
}

177. , , .
177
//
#include <stdio.h>
#include <conio.h>
#define N 3

//

void main()
{
int m[N][N+1]; //
// -
int max;

// ,
//

int i,j;

//

puts("\n ");
puts(" ");
printf(" %ix%i\n", N, N);
for (i = 0; i < N; i++)
{
printf(" %i- -> ", i+1);
for (j = 0; j < N; j++)
scanf("%i", &m[i][j]);
}

152
// -
for (i = 0; i < N; i++)
{
m[i][N] = 0;
for(j = 0; j < N; j++)
m[i][N] += m[i][j];
}
//
max = 0;
for (i = 1; i < N; i++)
if ( m[i][N] > m[max][N] )
max = i;
printf("\n %i- ", max+1);
printf(" %i\n", m[max][N]);
printf("\n <Enter>\n");
getch();
}

178. , , " ". ,


, (. ).
2 9 4
7 5 3
6 1 8

13
2
3
16

8
11
10
5

12 1
7 14
4
6 15
9 4

153

178
// , ""
#include <stdio.h>
#include <conio.h>
#define

SZ 5

//

void main()
{
int a[SZ][SZ];

//

int n;

//

int ok;

// - "" "

int i,j;

//

int sum;

// -

int temp;

// ,
//

printf("*** ***\n");
printf("\n (3..%i) -> ", SZ);
scanf("%i", &n);
printf(" \n");
printf(" , %i , ", n);
printf(" <Enter>\n");
for (i = 0; i < n; i++)
{
printf("->");
for (j = 0; j < n; j++)
scanf("%i", &a[i][j]);
}
ok = 1; // - ""
//
sum = 0;
for (i = 0; i < n; i++)
sum += a[i][i];
//

154
i = 0;
do {
temp = 0; // -
for (j = 0; j < n; j++)
temp += a[i][j];
if (temp != sum)

ok = 0;

i++;
} while (ok && i < n);
if ( ok )
{
//
//
//
j = 0;
do {
temp = 0; // -
for (i = 0; i < n; i++)
temp += a[i][j];
if (temp != sum)

ok = 0;

j++;
} while (ok && i < n);
}
if ( ok ) {
//
//
// .
//
//
temp = 0;
i = n - 1;
for (j = 0; j < n; j++)
temp += a[i--][j];

155

if (temp != sum)

ok = 0;

}
printf(" ");
if ( !ok )
printf(" ");
printf(" .\n");
printf("\n <Enter>");
getch();
}

179. , .
,
.
,
. .


3 .

6 .

12 .

18 .

24 .

36 .

50

15,0%

16,5%

18,0%

19,5%

21,0%

22,0%

250

16,5%

18,0%

19,5%

21,0%

22,5%

24,0%

250

18,5%

19,5%

21,0%

22,5%

24,0%

27,0%

179
//
#include "stdio.h"
#include "conio.h"
void main()
{
//
float rate[3][6] =
{
15.0,16.5,18.0,19.5,21.0,24.0,
16.5,18.0,19.5,21.0,22.5,24.0,

156
18.0,19.5,21.0,22.5,24.0,27.0
};
float value;

//

int period;

// ()

float profit; //
int r,c;
//
for (int r=0; r<3 ;r++)
{
for(int c=0; c<6; c++)
printf("%8.2f",rate[r][c]);
printf("\n");
}
printf(", .-> ");
scanf("%f",&value);
printf(", . -> );
scanf("%i",&period);
if ( value <= 10000)
r = 0;
else
if (value <= 300000 )
r = 1;
else
r = 3;
switch ( period )
{
case 3: c=0; break;
case 6:

c=1; break;

case 12: c=2; break;

157

case 18: c=3; break;


case 24: c=4; break;
case 36: c=6; break;
default: period = 0;
}
if ( period !=0 )
{
printf("\ : %5.2f, rate[r][c]);
profit = value * rate[r][c]/100/12 * period;
printf("\: %6.2f .", profit);
}
else
printf(" ");

printf("\n <Enter>");
getch();
}

180. ,
, ,
K = 7NG + 6NS + 5NB, NG, NS NB , . (, , ).

-> 0 1 1
-> 1 0 2
-> 4 2 1
-> 2 3 2
-> 1 2 2
------------------------------------- . . .
1 4
2
1
7
45
2
2
3
2
7
42
3 1
2
2
5
29
4 1
0
2
3
17
5
0
1
1
2
11

158
180
//
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define NC 5

//

void main()
{
char *team[] = {
"","","",
"",""
};
//
int result[NC+1][6];
// result[i][0] -
// result[i][1] -
// result[i][2] -
// result[i][3] -
// result[i][4] -
// result[i][5] -
// NC+1 -
//
int i,j;
int max;

// ,
//

printf(" ");
printf(" ,\n");
printf(" \n");
//
for (i = 0; i < NC; i++)

159

{
printf("%s ->", team[i]);
scanf("%i%i%i", &result[i][0],

//

&result[i][1],

//

&result[i][2]);

//

result[i][5] = i; //
}
//
for (i = 0; i < NC; i++)
{
result[i][3] =
result[i][0]+result[i][1]+result[i][2];
result[i][4] =
result[i][0]*7+result[i][1]*6+
result[i][2]*5;
}
// ( )
//
for (i = 0; i < NC+1; i++)
{
// i
// j- ,
// result[j][5]
max = i; //

for (j = i+1; j < NC; j++)


{
if (result[j][4] > result[max][4])
max = j;
}
// i-
// max
//
//

160
for (j = 0; j < 6; j++)
result[NC][j] = result[i][j];
for (j = 0; j < 6; j++)
result[i][j] = result[max][j];
for (j = 0; j < 6; j++)
result[max][j] = result[NC][j];
}
//
printf("%3s%12s%8s%8s%8s%8s%8s",
"","",
"","","",
"","");
for (i = 0; i < NC; i++)
{
printf("\n%12s", team[ result[i][5]
for (j = 0; j < 5; j++)
printf("%8i", result[i][j]);
}

]);

printf("\n <Enter>");
getch();
}



, ,
:
.
/C++ .
-

, 0,
: \0.

161

, ,

, , : char *mes[] ={" 1"," 2", ... ,


""};

, scanf ,
, gets , <Enter> "" \n.

181. ,
. (, , ).
?
, <Enter>
->
, !

181
//
#include <stdio.h>
#include <conio.h>
void main()
{
char name[15]; //
char fam[20];

//

printf(" ?\n");
printf(" , <Enter>");
printf("-> ");
scanf("%s", &name);
scanf("%s", &fam);
// scanf
// -

162
printf(", %s %s!\n", name, fam);
printf("\n <Enter>");
getch();
}

182. ,
, .
getch().
182
// ( )
#include <stdio.h>
#include <conio.h>
void main()
{
char name[40]; //
char ch;
int i;
printf(" ?\n");
printf("( , <Enter>");
printf("-> ");
i = 0;
while ((ch=getch()) != 13 && i < 40) // <Enter>
{

putch(ch);
name[i++] = ch;

}
name[i] = '\0';
printf("\n, %s!\n", name);
printf("\n <Enter>");
getch();
}

163

183. ,
.
183
//
#include <stdio.h>
#include <conio.h>
void main()
{
char st[80]; //
int i = 0;

//

puts("\n <Enter>");
printf("->");
gets(st);
while( st[i++])
;
printf(" : %i\n", i);
printf(" <Enter>");
getch();
}

184. ,
"" :
, .
184
//
#include <stdio.h>
#include <conio.h>
#include "dos.h" // delay
void main()
{
char msg[] = "\n\r !\0";

164
int i;

//

i = 0;
while(msg[i])
{
putch(msg[i++]);
delay(150);
}
printf("\n\n <Enter>");
getch();
}

185. , . , , . (, ,
).
<Enter>.
.
->1
: 1 : 49
->2
: 2 : 50
->
: :235
->.

185
//
#include <stdio.h>
#include <conio.h>
void main()
{
unsigned char ch;
// ch char,
//
printf("\n .\n");

165

printf(" .\n");
do {
ch = getch();
printf(": %c : %i\n", ch, ch);
} while ( ch != '.');
printf("\n\n <Enter>");
getch();
}

186. ,
( 0
127). .
0 15, 16 31 . .
186
// ASCII
#include <stdio.h>
#include <conio.h>
#define

SM 128

//

- 0 - 127

// 128 - 128 - 256


void main()
{
// ch char,
//
unsigned char ch;

//

int i,j;
printf("\nASCII \n");
for (i = 0; i <= 16; i++) //
{

ch = i + SM;
for (j = 1; j <= 8; j++) //

166
{
if (( ch <7 || ch >= 14) && ch !=26)
printf("%3c -%4i", ch, ch);
else // CR,LF,TAB
printf("%3c -

", ch, ch);

ch += 16;
}
printf("\n");
}
printf("\n <Enter>");
getch();
}

187. ,
(, upcase ). (, ,
).
<Enter>
-> ++, Windows
, :
++, WINDOWS

187
//
#include <stdio.h>
#include <conio.h>
void main()
{
unsigned char st[80];

//

int i;

//

printf("\n <Enter>");
printf("->");

167

gets(st);
i = 0;
while ( st[i] )
{
if ((st[i] >= 'a' && st[i] <= 'z') ||
(st[i] >= '' && st[i] <= ''))
st[i] -= 32;
else if (st[i] >= '' && st[i] <= '')
st[i] -= 80;
i++;
}
printf("\n%s\n", st);
printf("\n <Enter>");
getch();
}

188. , .
188
//
#include <stdio.h>
#include <conio.h>
#include "string.h"
void main()
{
unsigned char sst[80];

//

unsigned char dst[80];

//

int i,j;
printf(" \n");
printf(" :");
i=0;

168
while ((sst[i] = getch()) != 13)
putch(sst[i++]);
sst[i] = '\0';
i = 0; j = 0;
// ,
while( sst[i] && sst[i] == ' ')
i++;

// i - ,
// sst dst
while (sst[i])
dst[j++] = sst[i++];
dst[j] = '\0';
printf("\n :%s\n",dst);
printf("\n <Enter>");
getch();
}

189. ,
, . (,
, ).
,
->
:
:
:
<Enter>

189
//
#include "stdafx.h"
#include "string.h"
#include "stdio.h"

169

#include "conio.h"
void main()
{
char full[80]; //
char first[80]; //
char mid[80];

//

char last[80];

//

char* p1; //
char* p2; //
printf(" ( ) ->");
gets(full);
p1 = full;
//
p2 = first;
*p2 = '\0';
while ( (*p1 != ' ') && ( *p1 != NULL ) )
{
*p2 = *p1;
p1++;
p2++;
}
*p2 = '\0';
//
p2 = mid;
*p2 = '\0';
if ( *p1 == ' ')
{
p1++;

170
while ( (*p1 != ' ') && ( *p1 != NULL ) )
{
*p2 = *p1;
p1++;
p2++;
}
*p2 = '\0';
}
//
p2 = last;
*p2 = '\0';
if ( *p1 == ' ')
{
p1++;
while ( (*p1 != ' ') && ( *p1 != NULL ) )
{
*p2 = *p1;
p1++;
p2++;
}
*p2 = '\0';
}
// ,
// . ,
// ,
if ( *last == '\0' )
{
strcpy(last,mid);
*mid = '\0';
}
printf("\n:%s",first);

171

printf("\n:%s",mid);
printf("\n:%s",last);
printf("\n <Enter>");
getch();
}

190. , , .
(, , ).
<Enter>
->23.5
.

190
// ,
#include <stdio.h>
#include <conio.h>
void main()
{
char st[40];

//

int i;

//

printf(" <Enter>");
printf("->");
scanf("%s",&st);
i = 0;
while (st[i] >= '0' && st[i] <= '9')
i++;
// st[i] '\0',
printf(" ");
if (st[i])
printf(" ");

172
printf(" .\n");
printf("\n <Enter>");
getch();
}

191. , , .
192. , , .
192
// ,
//
#include <stdio.h>
#include <conio.h>
#include "string.h"
void main()
{
char st[20];

//

int i;

//

printf("\n ->");
scanf("%s", &st);
strupr(st); //
i = 0;
while ((st[i] >= '0' && st[i] <= '9') ||
(st[i] >= 'A' && st[i] <= 'F'))
i++;
printf("C ");
// st[i] != '\0',
// i -

173

if ( st[i] )
printf(" ");
printf(" .\n");
printf("\n <Enter>");
getch();
}

193. , , .
193
// ,
//

#include <stdio.h>
#include <conio.h>
void main()
{
char st[20];

//

int i;

//

int ok = 0;

//

printf(" <Enter>");
printf("->");
scanf("%s", &st);
i = 0;
if

(st[i] >= '1' && st[i] <='9') //

{
//
while ( st[i] >= '1' && st[i] <='9' )
i++;
//
if (st[i] == '.')

174
{
i++;
//
if

(st[i] >='1' && st[i] <='9')

{
//
while ( st[i] >= '1' && st[i] <='9' )
i++;
ok = 1; // , -
}
}
}
printf("C %s ",st);
if ( st[i] || !ok )
printf(" ");
printf(" .\n");
printf("\n <Enter>");
getch();
}

194. , . (
).

<Enter>
->11101010
11101010 234
<Enter>

194
//
#include <stdio.h>
#include <conio.h>
#include "string.h"
void main()

175

{
char bin[16];

//

long int dec;

//

int i;

//

int v;

// i-

printf(" ");
printf(" <Enter>");
printf("->");
scanf("%s", &bin);
dec = 0;
v = 1;

// (0-)

for ( i = strlen(bin) -1; i >= 0; i--)


{
if ( bin[i] == '1' )
dec += v;
v *= 2;

//

}
printf(" %s", bin);
printf(" %d", dec);
printf("\n <Enter>");
getch();
}

195. , .
195
//
// !
#include <stdio.h>
#include <conio.h>
#include "string.h"

176
void main()
{
char st[5];

//

unsigned int dec;//

int v;

//

int err = 0;

// err == 1 - -

int i;
printf(" ");
printf("( 4- ) \n");
printf("-> ");
scanf("%s",&st);
//
strupr(st);
dec = 0;
v = 1;

//

for ( i = strlen(st) -1; i >= 0; i--)


{
//printf("\n%d\n",v);
if (st[i] >= '0' && st[i] <= '9')
dec += v * (st[i]- 48); // (int)'0'=48, (int)'1'=49 ..
else
if (st[i] >= 'A' && st[i] <= 'F')
// (int)'A'=65, (int)'B'=66 ..
// A 10, B - 11 . .
dec += v * (st[i]- 55);
else //
{ err = 1;
break; }
v *= 16;
}
if ( !err ) {

//

177

printf(" %s ", st);


printf(" %u\n", dec);
}
else {
printf("C %s ", st);
printf(" \n");
}
printf("\n <Enter>");
getch();
}

196. , ( 2- 10). .
-> 67
-> 2
67 100011 2

196
//
//

( 2- 10-)

#include <stdio.h>
#include <conio.h>
void main()
{
int osn,

//

n,

//

cn,

//

r;

//
// . .

char st[17]; // . .
int i;
printf("\ ->");

178
scanf("%d", &n);
printf(" ->");
scanf("%d", &osn);
cn = n;
//

//

//

//

st[16] ='\0';
i = 15;
do {
r = n

% osn;

//

n = n / osn; //
// printf(":%d :%d\n", r,n);
st[i--] = r + 48; //
} while ( n > 0);
// ""
i++;
int j = 0;
while(st[i])
st[j++] = st[i++];
st[j] = '\0';
st[i--] = ' ';
printf(" %d ", cn);
printf(" %s %d\n", st, osn);
printf("\n <Enter>");
getch();
}

197. , .

179

197
//
#include <stdio.h>
#include <conio.h>
void main()
{
int n;

//

int r;
. .

//

char st[5];
.

// .

int i;
printf("\n );
printf(" \n");
printf(" ->");
scanf("%d", &n);
// 16 ,
// 16
printf("\n %d", n);
printf(" ");
st[5] = '\0';
i = 4;
do {
r = n % 16;
n = n / 16;

//
// -

if (r < 10)
st[i--] = r + 48;

// (int)'0'==48, (int)'1'==49 ..

else st[i--] = r + 55; // (int)'A'==65, (int)'B'==66 ..


} while ( n > 0);
//
i++;
int j = 0;

180
while( st[i] )
st[j++] = st[i++];
st[j] = '\0';
printf("%s\n", st);
printf("\n <Enter>");
getch();
}

198. , N0O1N1O2..OkNk, Ni , Oi
: (+) ().
, , ,
.
,
, 4+5-3-5+2 <Enter>
->9-5+4+2-6
: 4
<Enter>

198
//
#include <stdio.h>
#include <conio.h>
#include "stdlib.h"
void main()
{
char st[40];

//

char buf[10]; //
char op;

//

int rez;

//

int n;

//

int i,j;

181

printf("\n ,\n");
printf(", 45+5-3-125+2 <Enter>");
printf("( )\n");
printf("->");
scanf("%s", &st);
rez = 0; //
op = ' ';
i = j = 0;
while( st[i] )
{
//
j = 0;
while (st[i] >= '0' && st[i] <= '9')
buf[j++] = st[i++];
buf[j] = '\0';
n = atoi(buf); //
//
switch ( op )
{
case '+': rez += n; break;
case '-': rez -= n; break;
case ' ': rez = n;

break; //

}
//
op = st[i++];
}
printf(" : %d", rez);
printf("\n <Enter>");
getch();
}

182

199. , " ".


. . , , .
,
, . ,
725 , 523, (5 2),
(2) .
. , , .
" "
. .
, ,
.
<Enter>
-> 123
0,
-> 456
1,
-> 654
2,
-> 657
2,
-> 658
3,

0
0
2
2
3

! , !
<Enter>

199
// " "
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "time.h"
#define

N 3

//

183

//
#define DEBUG

//

void main(){
{
char igrok[N];

//

char comp[N];

//

int a[N];

// a[i] == 1, i-
//

int ugad;

//

int mesto;

//

int i,j;

//

time_t t;
printf("\n ");
printf("\n \n");
printf(". .\n");
printf(" , ");
printf(", , \n");
printf(" ");
printf(".");
printf(" <Enter>\n");
srand((unsigned)time(&t) ); //
// ""
for (i = 0; i < N; i++)
comp[i] = rand() % 10 + 48;
// 48 - '0'
#ifdef DEBUG
printf(" : ");

184
for (i = 0; i < N; i++)
printf("%c", comp[i]);
printf("\n");
#endif
do {
printf("\n -> ");
scanf("%s", &igrok);
for (i = 0; i < N; i++)
a[i] = 0;
// ,
ugad = 0;
//
//
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
{
if ((igrok[i] == comp[j]) && !a[j])
{
ugad++;
a[j] = 1; //
//
//
//
break;
}
}
// ,
mesto = 0;
for (i = 0; i < N; i++)
if (igrok[i] == comp[i])

mesto++;

printf(": %i. : %i",

185

ugad, mesto);
}
while

((ugad < N) || (mesto < N));

printf("\n! ,\n");
printf(" .");
printf("\n <Enter>");
getch();
}

200. "",
. .
.

..

...

..

..

. ..

. .

. .

...

..

.. .

....

. .

..

..

.. .

..

. .

...

200
//
#include "stdio.h"
#include "conio.h"
#include "string.h"

// strlen

#include "dos.h"

// delay

//

186
#define

TONE 100

// ()

#define

L1

50

// () ""

#define

L2

100

// () ""

#define

L3

50

#define

L4

100

// ()

#define

L5

150

// ()

// ()

void main()
{
//
char *morse[] = {
".-

","-...",".---","--. ", //,,,

"-.. ",".

","...-","--..", //,,,

"..

",".---","-.- ",".-..", //,,,

"--

","-.

","--- ",".--.", //,,,

".-. ","... ","-

","..- ", //,,,

"..-.","....","-.-.","---.", //,,,
"----","--.-","-..-","-.--", //,,,
"-..-","..-.","..--",".-.-"

//,,,

};
unsigned char mes[80];
char sim[4];

//

//
//

char znak;

// "" -

int i,j;

//

puts("\n*** ***");
puts(" , ");
puts("( )");
printf("->");
gets(mes);
for (i = 0; i < strlen(mes); i++)

187

{
if (mes[i] >= '' && mes[i] <='')
{
// ( Ord)
//
// -
strcpy(sim,morse[mes[i]-128]);
j = 0;
do
if (sim[j] == '-' || sim[j] == '.')
{
putch(sim[j++]);
sound(1000);
if (sim[j] == '.')
delay(L1);
else delay(L2);
nosound;
delay(L3);
}
while ( sim[j] != ' ' && j <4 );
delay(L4); //
}
else
if (mes[i] == ' ')

//

{
printf("

"); //

delay(L5);
}
}
puts("\n !");
puts(" <Enter>");
getch();
}

188


, ,
:
-

. , . . , , .
( -

) , .
,

,
.

201. ( = 5/9(F32)) , ,
.
201
// Fahr2Cels
//
#include "stdio.h"
#include "conio.h"
//
//
float Fahr2Cels(float f)

189

{
float c;
c = (float) 5/9*(f - 32);
return (c);
//
// :
// return ( (float)5/9*(f - 32));
//
}

void main()
{
float f; //
float c; //
float f1,f2; //
float df;

//

f1 = 0;
f2 = 5;
df = 0.5;
printf("\n----------------");
printf("\n

C");

printf("\n----------------");
f = f1;
do
{
c = Fahr2Cels(f);
printf("\n%5.2f
f = f + df;
}

%5.2f", f, c);

190
while ( f <= f2 );
printf("\n----------------");
printf("\n <Enter>");
getch();
}

202. (1 = 2,54 ).
203. (1 = 1,60094 ).
204.
(1 Urals 136,4 ).
,
.
204
// Barrel2Ton
//
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
//
//
float Barrel2Ton(float b)
{
// b -
float t; //
t = b* (1000/136.4);
//return (t);

191

//
// :
return ( b* (1000/136.4) );
//
}

void main()
{
float barrel; //
float ton;

//

printf("\n -> ");


scanf("%f", &barrel);
ton = Barrel2Ton(barrel);
printf("\ :%6.2f", ton);
printf("\n <Enter>");
getch();
}

205. , .
205
#include <stdio.h>
#include <conio.h>
#include <math.h> // M_PI
//
float vcil(float h, float r)
{
return(M_PI*r*r*h);
}

192
void main()
{
float r,h; //
float v;

//

puts(" ");
printf(" ->");
scanf("%f%f", &h, &r);
v = vcil(h, r);
printf(" %3.2f\n", v);
printf(" <Enter>");
getch();
}

206. ,
, .
206
// max
int max(int a, int b)
{
if (a > b)
return(a);
else
return(b);
}

207. ,
: >,
< =.
207
// compare
//
#include "stdio.h"

193

#include "conio.h"
char compare(int a, int b)
{
char res;
if (a > b) res = '>';
else if (a < b)

res = '<';

else res = '=';


return(res);
}
void main()
{
int x1,x2;

//

char res;

//

puts(" <Enter>");
printf("->");
scanf("%i%i", &x1, &x2);
res = compare(x1,x2);

//

printf("%i %c %i\n", x1, res, x2);


puts("\n <Enter>");
getch();
}

208. , ,
,
.
: ,
1.
208
//
float sopr( float r1, float r2, int t)
{

194
// r1,r2 -
// t - :
//

1 - ;

//

2 - .

// ,
// -1
float r;
if ( t==1)

r =

else if (t== 2)

r1 + r2;
r = r1*r2/(r1+r2);

else r = -1;
return(r);
}

209. percent,
, .
210. "" , .
210
// ""
#include "stdio.h"
#include "conio.h"
unsigned long factorial(int x)
{
unsigned long f = 1;
for (int i = 2; i <= x; i++)
f *= i;
return(f);
}
void main()
{
unsigned long f;

195

puts("\n ");
for (int n = 1; n <= 12; n++)
{
f = factorial(n);
printf("%2i %10u\n", n, f);
}
puts("\n <Enter>");
getch();
}

211. profit,
. : , () ( ).
211
//
float profit(float sum,

//

float stavka,

// ()

int srok)

// ()

{
return(sum*(stavka/100/365)*srok);
}

212. glasn, 1, , , , .
212
// ,
int glasn(char ch)
{
static char gl[] ="\0";
int i = 0;
while (gl[i] && gl[i] != ch)

196
i++;
if ( gl[i] )
return(1);
else return(0);
}

213. sogl, 1, ,
,
, 0 .
214. ,
, .
214
// upcase
#include "stdio.h"
#include "conio.h"
//
char* upcase(char *st)
{
int i = 0;
while ( st[i] )
{
if (st[i] >= 'a' && st[i] <= 'z' ||

//

st[i] >= '' && st[i] <= '')


st[i] -= 32;
else if (st[i] >= '' && st[i] <= '')
st[i] -= 80;
i++;
}
return st;
}
//

upcase

void main()

//

197

{
char st[80];
puts(" <Enter>");
printf("->");
gets(st);
puts(upcase(st));
puts("\n <Enter>");
getch();
}

215. ,
.
.
: 2 , 1 , 0 . ,
. , 1.
215
//
#include "stdio.h"
#include "conio.h"
#include "math.h"
int kvadur(float a, float b, float c, // -
float *x1, float *x2)

//

// -
// -1,
{
float d; //
if (a == 0) return(-1);
d = b*b-4*a*c;

198
if (d < 0)
return(0);

//

*x1 = (-b+sqrt(d))/(2*a);
*x2 = (-b-sqrt(d))/(2*a);
if (*x1 != *x2) return(2);
else return(1);
}
//
void main()
{
float a,b,c; //
float x1,x2;

//

int n;

// -

puts("\n ");
puts("
<Enter>");
printf("->");
scanf("%f%f%f", &a, &b, &c);
switch (kvadur(a,b,c,&x1,&x2))
{
case -1: puts(" .");
break;
case 0:

puts(" .");

case 1:

printf(" : x=%3.2f", x1);

case 2:

printf("x1=%3.2f x2=%3.2f", x1, x2);

break;
break;
}
puts("\n <Enter>");
getch();
}

199

216. , , . ( ) .
216
// starline
#include "stdio.h"
#include "conio.h"
//
void starline(int len)
{
for (int i = 0; i < len; i++)
putch('*');
}
void main()
{
starline(10);
puts("\n
<Enter>");
getch();
}

217. , .
217
// length
#include "stdio.h"
#include "conio.h"

//
int length(char* st)
{
int l = 0;

//

200
//

char* p = st;
while ( *p++

l++;
return(l);
}
void main()
{
char st[80]; //
int len;

//

printf(" <Enter>\n");
printf("->");
// , scanf
// -
// gets
gets(st);
len = length(st);
printf(" : %i",len);
printf("\n <Enter>");
getch();
}

218. , . .
218
// line
#include "stdio.h"
#include "conio.h"

201

// ,
// n ch-
void line(char ch, int n)
{
for (int i = 0; i < n; i++)
putch(ch);
}
//
int length(char* st)
{
int l = 0;

//
//

char* p = st;
while ( *p++

l++;
return(l);
}
void main()
{
char mes[] = "Hello, World!\0";
int len;
len = length(mes);
line('*', len);
printf("\nHello, World!\n");
line('*',len);
printf("\n <Enter>");
getch();
}

202

219. ,
. ,
, . <Backspace>.
<Enter>
.
219
// getint
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
// getint
// , . ,
// , <Backspace>.
// <Enter> .
#define K_BACK 8
#define K_ENTER 13
#define HB
4

// <Backspace>
// <Enter>
//

int getint()
{
//

char ch;

//

char buf[HB];
int n = 0;

// -

buf[0] = '\0';
while ((ch = getch()) != K_ENTER)
if (ch >= '0' && ch <= '9'&& n < HB)
{

putch(ch);
buf[n++] = ch;


}
else if (ch == K_BACK && n)
{
printf("\b \b");
n--;
}
if (n)
{
buf[n] = '\0';
return(atoi(buf));
}
else return(-1);
}
void main() {
int a; //
puts("\n getint\n");
puts(" getint ");
puts(" .");
puts(" ");
puts(" <Backspace>");
puts(" <Enter> ");
puts(" -1, .");
puts(" <Enter>");
printf("->");
if (a = getint())
printf("\n %d", a);
else puts(" .");
puts("\n <Enter>");
getch();
}

203

204

220. ,
. ,
,
. ,

.
<Backspace>. <Enter> .
220
// getfloat pos
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
int pos(char* st, char c)
{
int i = 0;
while ( st[i] != c && st[i] )
i++;
if ( st[i] )
return(i+1);
else
return(0);
}
//
float getfloat()
{
#define N 10 // - ,
char ch;

205

char buf[N+1];
int i;
for (i = 0; i < N+1; i++)
buf[i++] ='\0';
i = 0;
do {
ch=getch();
if (ch >= '0' && ch <= '9' && i < 8) {
putch(ch);
buf[i++] = ch;
}
else
switch (ch) {
case '-' : if (!i)
{
putch(ch);
buf[i++] = ch;
}
break;
case '.' : if ( !(pos(buf,'.')))
{
putch(ch);
buf[i++] = ch;
}
break;
case 8

: if (i)
{
printf("\b \b");
buf[--i] = '\0';
}

}
} while (ch != 13);
return(atof(buf));

206
}
void main(void)
{
float f;
printf(" ->");
f = getfloat();
printf("\n %e\n", f);
getch();
}

221. , "21".
.
221
// "21"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h" // rand
#include "time.h"

// time

int koloda[12];

//

int karta();

// ""

void main()
{
int igrok = 0;

//

int comp = 0;

//

char otv;

//

time_t t;
//

207

for (int i=2; i <=11; i++)


koloda[i] = 4;
koloda[5] = 0; // ""
//
srand((unsigned)time(&t));
printf("\n !\n");
do
{
//
igrok += karta();
//
if (igrok < 21)
comp += karta();
if (igrok < 21 && comp < 21)
{
printf(" %d\n",igrok);
printf(" ? ( y n) ");
otv = getchar();
// : <Enter>.
// getchar .
//
// <Enter>. .
int b;
b = getchar();
}
}
while (igrok <= 21 && comp <= 21 && otv != 'n') ;
if (igrok == 21) || (igrok < 21) && (igrok > comp))
|| (comp > 21)

208
printf(" !\n");
else
printf(" !\n");
printf (" %d\n", igrok);
printf (" %d\n", comp);
printf(" <Enter>");
getch();
}
//
int karta()
{
int i;
do
i = rand() % 10 + 2;
while (koloda[i] == 0);
koloda[i]--;
return i;
}


, ,
:
-

,
16 .

. (0, 0), (639, 479).

209

, , ,
.
.

#include <graphics.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
void main(void)
{
int gdriver = DETECT; //
int gmode;
//
int errorcode;
//
initgraph(&gdriver, &gmode, PATHTODRIVER);
errorcode = graphresult();
if (errorcode != grOk)

//
//

{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
//
closegraph(); //
}

222. , .
222
//
#include <graphics.h>
#include <stdio.h>

210
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
void rusflag(int x, int y, int l, int h)
{
// x, y -
// l, h -
int w = h / 3;
//
setfillstyle(SOLID_FILL,WHITE);
bar(x,y,x+l,y+w);
setfillstyle(SOLID_FILL,BLUE);
bar(x,y+w,x+l,y+2*w);
setfillstyle(SOLID_FILL,RED);
bar(x,y+2*w,x+l,y+3*w);
outtextxy(x,y+h+5,"\0");
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}

211

rusflag(100,100,50,25);
getch();
closegraph(); //
}

223. , :

223
// ( )
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define dx
#define dy

10
10

//
// Y

void ship(int x, int y) // x,y -


{
//
moveto(x,y);
lineto(x,y-2*dy);
lineto(x+10*dx,y-2*dy);
lineto(x+11*dx,y-3*dy);

212
lineto(x+17*dx,y-3*dy);
lineto(x+14*dx,y);
lineto(x,y);
//
moveto(x+3*dx,y-2*dy);
lineto(x+4*dx,y-3*dy);
lineto(x+4*dx,y-4*dy);
lineto(x+13*dx,y-4*dy);
lineto(x+13*dx,y-3*dy);
line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);
//
rectangle(x+8*dx,y-4*dy,x+11*dx,y-5*dy);
//
rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);
//
circle(x+12*dx,y-2*dy,dx/2);
circle(x+14*dx,y-2*dy,dx/2);
//
line(x+10*dx,y-5*dy,x+10*dx,y-10*dy);
//
moveto(x+17*dx,y-3*dy);
lineto(x+10*dx,y-10*dy);
lineto(x,y-2*dy);
}
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();

213

if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
exit(1);
}
ship(50,150);
getch();
closegraph(); //
}

224. , 100
.
224
//
//
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "time.h"
#include "dos.h"
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
void cuzor(int n)
{
#define DELAY

//

int x,y,r; //
time_t t;
srand((unsigned)time(&t)); //

214
for (int i = 0; i < n; i++)
{
x = rand() % 640;
y = rand() % 480;
r = rand() % 240;
setcolor(rand() %16);
circle(x,y,r);
#ifdef DELAY
delay(5);
#endif
}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) //
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
exit(1);
}
cuzor(200); //
getch();
closegraph(); //
}

215

225. , 50

.
226. ,
, 100
.
226
//
//
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "time.h"
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
void luzor(int n)
{
int x,y;

//

int c;

//

time_t t;
srand((unsigned)time(&t)); //
for (int i = 0; i < n; i++)
{
x = rand() % 640;
y = rand() % 480;
c = rand() % 16;
setcolor(c);
lineto(x,y);
}

216
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) //
.
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
exit(1);
}
luzor(200); //
getch();
closegraph(); //
}

227. , .

72

36

18o

217

227
//
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
#include "math.h"
void starline(int x0, int y0, int r)
{
// x0,y0 -
// r -
int x,y;//
//
int a;

// ,
//
//

int r1; //
//
#define RTOR 2.5 //
//
a = 18;

// .

r1 = r/RTOR;
x = x0+r*cos(a*2*M_PI/360);
y = y0-r*sin(a*2*M_PI/360);
moveto(x,y);
for (int i = 0; i < 5; i++)
{

218
a = a+36;
x = x0+r1*cos(a*2*M_PI/360);
y = y0-r1*sin(a*2*M_PI/360);
lineto(x,y); //
a = a+36;
if (a > 360)

a = 18;

x = x0+r*cos(a*2*M_PI/360);
y = y0-r*sin(a*2*M_PI/360);
lineto(x,y); //
}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
exit(1);
}
starline(100, 100, 50);
getch();
closegraph(); //
}

219

228. , .
228
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
#include "math.h"
void star(int x0, int y0, int r)
{
// x0,y0 -
// r -
int poly[20]; //
//
int a;

// ,
//
//

int r1; //
//
#define RTOR 2.5 //
//
int i;
a = 18;

// .

r1 = r/RTOR;
i=0;
do {

220
poly[i++] = x0+r*cos(a*2*M_PI/360);
poly[i++] = y0-r*sin(a*2*M_PI/360);
a = a+36;
poly[i++] = x0+r1*cos(a*2*M_PI/360);
poly[i++] = y0-r1*sin(a*2*M_PI/360);
a = a+36;
if (a > 360)

a = 18;

} while(i < 20);


setfillstyle(SOLID_FILL,RED);
fillpoly(10,poly);
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk)

// .

{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
else {
star(100, 100, 20);
getch();
closegraph(); //
}
}

221

229. ,
.

229
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
void uzor()
{
int x;
int y = 100;
int n;

//

int d = 30;

//

int l = 10;

//

for (int i = 0; i < 5; i++)


{
// X
if (i % 2)
{

//
n = 5;
//
x = 100;

222
else { //
n = 4;
x = 100 + d/2+l/2;
}
for (int j = 0; j < n; j++)
{
rectangle(x,y,x+d,y+d);
x += d+l;
}
y += d/2+l/2;
}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) //
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
uzor();
getch();
closegraph(); //
}

223

230. ,
.
230
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
void doska()
{
int x0 = 100,

//

y0 = 100;
int x,y;

//

int w = 25;

//

int i,j;

//

x = x0;
y = y0;
for (i = 0; i < 8; i++)

//

{
for ( j = 0; j < 8; j++) //
{
//
// ,
// , , - ,
//

if ((i+j) % 2)
setfillstyle(SOLID_FILL,BROWN);
else setfillstyle(SOLID_FILL,YELLOW);
bar(x,y,x+w,y+w);

224
x += w;
}
x = x0;
y += w;
}
}

void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
doska();
getch();
closegraph(); //
}

231. , .

225

5.0
4.0
3.0
2.0
1.0
0.0
0.00

0.5 1.0

1.5

2.0

2.5

3.0

3.5

231
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"

void grid()
{
int x0,y0; //
int dx,dy; // ( )
int h,w;

//
//

int x,y;

float lx,ly;

// X

float dlx,dly;

// X Y

char st[8];

//

x0 = 50; y0 = 400; // (50,400)

226

// 40

dx = 40; dy = 40;
dlx = 0.5;
dly = 1;

// X
// : 0.5, 1.0, 1.5 ...
// Y
// : 1, 2, 3 ...

h = 300;
w = 400;
lx = 0;

// 0

ly = 0;
line(x0,y0,x0,y0-h);

// X

line(x0,y0,x0+w,y0);

// Y

// , X
x = x0;
do {
//
setlinestyle(SOLID_LINE, 0, 1);
line(x,y0-3,x,y0+3);
//
sprintf(st,"%2.1f",lx);
outtextxy(x-8,y0+5,st);
lx += dlx;
//
setlinestyle(DOTTED_LINE, 0, 1);
line(x,y0-3,x,y0-h);
x += dx;
} while (x < x0+w);
// , Y
y = y0;
do {
//
setlinestyle(SOLID_LINE, 0, 1);

227

line(x0-3,y,x0+3,y);
//
sprintf(st,"%2.1f",ly);
outtextxy(x0-40,y,st);
ly += dly;
//
setlinestyle(DOTTED_LINE, 0, 1);
line(x0+3,y,x0+w,y);
setlinestyle(SOLID_LINE, 0, 1);
y -= dy;
} while (y > y0-h);
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
grid();
getch();
closegraph(); //
}

228

232. ,
y = 0,5x2 + 4x 3. : 15 5; : 0,1.
,
.
232
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"

void grafik()
{
float x,dx;

//

float x1,x2;

//

float y;

//

int mx,my;

// X Y - -
// ,
//

int x0,y0;

//

int px,py;

//

x0 = 320; y0 = 240;
mx = 20; my = 20;
//
line(10,y0,630,y0);
line(x0,10,x0,470);
//
x1 = -15;
x2 = 5;

229

dx = 0.1;
x = x1;
while ( x < x2 )
{
y =

0.5*x*x + x*4 - 3;

//

px = x0 + x*mx;
py = y0 - y*my;
putpixel(px,py,WHITE);
x += dx;
}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) // .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
grafik();
getch();
closegraph(); //
}

230

233. , "" .

233
//
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define dx

//

#define dy

// Y

//
void ship(int x, int y, int color )
{
// x,y -
// color
setcolor(color);
//

moveto(x,y);


lineto(x,y-2*dy);
lineto(x+10*dx,y-2*dy);
lineto(x+11*dx,y-3*dy);
lineto(x+17*dx,y-3*dy);
lineto(x+14*dx,y);
lineto(x,y);
//
moveto(x+3*dx,y-2*dy);
lineto(x+4*dx,y-3*dy);
lineto(x+4*dx,y-4*dy);
lineto(x+13*dx,y-4*dy);
lineto(x+13*dx,y-3*dy);
line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);
//
rectangle(x+8*dx,y-4*dy,x+11*dx,y-5*dy);
//
rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);
//
circle(x+12*dx,y-2*dy,dx/2);
circle(x+14*dx,y-2*dy,dx/2);
//
line(x+10*dx,y-5*dy,x+10*dx,y-10*dy);
//
moveto(x+17*dx,y-3*dy);
lineto(x+10*dx,y-10*dy);
lineto(x,y-2*dy);
}
#define PATHTODRIVER "c:\\borlandc\\bgi\\"

231

232
void main(void)
{
int x,y;

// ( )

int maxx; // .

int gdriver = DETECT; //


int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode != grOk) //
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
maxx = getmaxx();

x = -10 ; // - y = 100;
while ( x <

maxx)

{
ship(x,y, GREEN);

//

delay(20);
ship(x,y,BLACK);

//

x += 5;
}
setcolor(GREEN);
outtextxy(10,10," !");

233

outtextxy(10,24," <Enter>");
getch();
closegraph(); //
}

234. , ,
.
( , , )
.

45.5%

30.3%

30.3%

3.0%

234
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
char *mes[] ={"\0","\0",
"\0","\0"};
int n[4];

// , ,

234
//
float p[4]; //
int h[4];

//

//
void obr()
{
int s;

//

int m;

// - n

int i;

//

puts(" :");
for (i = 3; i >= 0; i--)
{
printf("%s ->", mes[i]);
scanf("%i", &n[i]);
}
//
s = 0;
//
for (i = 0; i < 4; i++)
s += n[i];
//
for (i = 0; i < 4; i++)
p[i] = (float)n[i]/s*100;
// ,
// ,
m = 3; //
for (i = 2; i >= 0; i--)


if (n[i] > n[m])

235
m = i;

// , ,
// 200 .
// .
for (i = 0; i < 4; i++)
h[i] = 200 * n[i]/n[m];
}
//
void diagr()
{
int x,y; //
//
int i;

//

//
int color[4] = {YELLOW, BLUE, GREEN, RED};
char buf[10];
outtextxy(40,50," \0");
rectangle(40,80,170,310);
x = 50; y = 300; //
//
for (i = 3; i >= 0; i--)
{
setfillstyle(SOLID_FILL, color[i]);
bar(x,y,x+10,y-h[i]); //
sprintf(buf,"%2.1f",p[i]);
outtextxy(x,y-h[i]-10,buf);
x += 20;
}
//
x = 50;
for (i = 3; i >= 0; i--)
{

236

setfillstyle(SOLID_FILL,color[i]);
//bar(x,y,x+10,y-h[i]); //
//OutTextXY(x,y-h[i]-10,RealToStr(p[i],5,1)+'%\n");
x = x+20;
}
//
x = 200;y = 100;
for (i = 3; i >= 0; i--)
{
setfillstyle(SOLID_FILL,color[i]);
bar(x,y,x+20,y+10); //
outtextxy(x+25,y,mes[i]);
y += 20;
}
}
void main()
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

obr(); //
initgraph(&gdriver, &gmode, PATHTODRIVER);
errorcode = graphresult();
if (errorcode == grOk)
diagr();

//

else
{
printf(": %d\n", errorcode);
puts(" <Enter>");
}
getch();
}

237

235. ,
. .
, . ,
,
. .

32,97
32,89
32,80

32,81

32,80

32,55

32,178

32,08
31,98

235
#include "stdio.h"
#include "conio.h"
#include "graphics.h"
#define HB 10 //
#define WS 300
#define HS 150
char

head[40];

float kurs[HB];

//
//

char* date[HB][5]; // - dd.mm


int nrec; //

238
int dx;
int py[HB];

//
// y-

//
void LoadData()
{
FILE* f; //
int i;
if ( (f = fopen("c:\\borlandc\\cpp\\kurs.txt", "rt")) ==
NULL)
{
printf(" \n");
getch();
return;
}
fscanf(f,"%s",head);
printf("%s\n",head);
i = 0;
while ((! feof(f) ) && ( i < HB ))
{
fscanf(f,"%s",&date[i]);
printf("%s\n",date[i]);
fscanf(f,"%f",&kurs[i]);
printf("%5.2f\n",kurs[i]);
i++;
}
nrec = i;
fclose(f);
//
float min = kurs[0];


float max = kurs[0];
for ( i = 1; i < nrec; i++ )
{
if ( kurs[i] < min)
min = kurs[i];
if ( kurs[i] > max)
max = kurs[i];
}
// y-
for (i=0; i < nrec; i++)
py[i] = (HS-20) * (kurs[i]- min)/(max - min)+2;
return;
}
void Graphic()
{
int x0, y0;
int x;
int dx;
int i;
char st[20];
x0 = 10;
y0 = HS + 20;
dx = (WS - 2* x0)/ (nrec );
outtextxy(x0,10, head );
rectangle(1,1,WS,y0+10);
x =x0;

239

240
moveto(x,y0-py[0]);
x =x +dx;
for ( i = 1; i < nrec; i++)
{
lineto(x,y0-py[i]);
x= x+dx;
}
x = x0;
for ( i = 0; i < nrec; i++)
{
sprintf(st,"%2.2f", kurs[i]);
outtextxy(x,y0 - py[i]-10,st);
x= x+dx;
}
}
void main(void)
{
int gdriver = DETECT;
int gmode;
int errorcode;
initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi\\");
errorcode = graphresult();

if (errorcode != grOk) // - .
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
LoadData();

241

Graphic();
getch();
closegraph();
}

236. ,
.
.
, . , ,
. .
32,97
32,89
32,80

32,81

32,80

32,55

32,28
32,178

32,08

31,98

236
//
#include "stdio.h"
#include "conio.h"
#include "graphics.h"
#define HB 10 //
#define WS 300

242
#define HS 150
char

head[40];

float kurs[HB];

//
//

char* date[HB][5]; // - dd.mm


int nrec; // ( -)
int dx;

//

int py[HB]; // y-
//
void

LoadData()

{
FILE* f; //
int i;
if ( (f = fopen("c:\\borlandc\\cpp\\kurs.txt",
"rt")) == NULL)
{
printf(" \n");
getch();
return;
}
//
//fgets(head,sizeof(head),f);
fscanf(f,"%s",head);
printf("%s\n",head);
i = 0;
while ((! feof(f) ) && ( i < HB ))


{
fscanf(f,"%s",&date[i]);
printf("%s\n",date[i]);
fscanf(f,"%f",&kurs[i]);
printf("%5.2f\n",kurs[i]);
i++;
}
nrec = i;
fclose(f);
// :
//
float min = kurs[0];
float max = kurs[0];
for ( i = 1; i < nrec; i++ )
{
if ( kurs[i] < min)
min = kurs[i];
if ( kurs[i] > max)
max = kurs[i];
}
// y-
for (i=0; i < nrec; i++)
py[i] = (HS-20) * (kurs[i]- min)/(max - min)+2;
return;
}
void Diagr()

243

244
{
int x0, y0;
int x;
int dx;
int i;
char st[20];
x0 = 10;
y0 = HS + 20;
dx = (WS - 2* x0)/ (nrec );
outtextxy(x0,10, head ); //
rectangle(1,1,WS,y0+10); //
//
x = x0;
setfillstyle(SOLID_FILL,GREEN);
for ( i = 0; i < nrec; i++)
{
bar(x,y0,x+dx,y0-py[i]);
rectangle(x,y0,x+dx,y0-py[i]);
x= x+dx;
}
//
x=x0;
for ( i = 0; i < nrec; i++)
{
sprintf(st,"%5.2f", kurs[i]);
outtextxy(x,y0 - py[i]-10,st);
x= x+dx;
}
}

245

void main(void)
{
int gdriver = DETECT;
int gmode;
int errorcode;
initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi\\");
errorcode = graphresult();

if (errorcode != grOk)
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
return;
}
LoadData(); //
Diagr();

//

getch();
closegraph();
}

237.
(. 235) , , , .
238. ,
, ( )
. ( : , , ) . .

246
55%
10%
20%
15%

238
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
#define N 4 //
void krdiagr(char* *name, float* dol)
{
int a1,a2;

//

int color[4] = {BLUE, YELLOW, GREEN, RED};


int x,y;

//

char st[25];

//

int i;
//
a1 = 0;

//

x = 350; y = 100;

//

for (i = 0; i < N; i++)


{
//
a2 = a1 + 3.6 * dol[i];

// 1% - 3.6

247

if (i == N-1) a2 = 360; // , ,
setfillstyle(SOLID_FILL, color[i]);
sector(200,200,a1,a2,100,100);
// pieslice(200,200,a1,a2,100);
a1 = a2;

// -

//
bar(x,y,x+30,y+10);
rectangle(x,y,x+30,y+10);
sprintf(st, "%s - %2.1f%\0", name[i], dol[i]);
outtextxy(x+50,y,st);
y += 20;
}
}
void main(void)
{
char *name[N] = {"\0","\0",
"\0","\0"};
float kol[N];

//

float dol[N];

//

float sum = 0; // -
int i;
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

//
puts(" ");
for (i = 0; i < N; i++)
{
printf("%s -> ", name[i]);
scanf("%f", &kol[i]);
sum += kol[i];

248
}
//
for (i = 0; i < N; i++)
dol[i] = kol[i]/sum*100;
//
initgraph(&gdriver, &gmode, PATHTODRIVER);
errorcode = graphresult();
if (errorcode == grOk)
{
krdiagr(name, dol);//
getch();
closegraph(); //
}
else {
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
}

239. ,
, .
239
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

249

#include <dos.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
//
void vector(int a,
int l)

//
//

OX

{
#define G 0.0174532 // .
int x0,y0; //

int x1,y1; //
x0 = getx();
y0 = gety();
x1 = x0 + l*cos(a*G);
y1 = y0 - l*sin(a*G);
lineto(x1,y1);
}
void clock()
{
int x0 = 80,

//

y0 = 80;
int d = 50;

//

int s = 0;

// , -

int m = 0;

// , -

int as = 90;

//

int am = 90;

//

circle(x0,y0,d+5);
setfillstyle(SOLID_FILL, 0);
do {
//
moveto(x0,y0);

250
setcolor(YELLOW);
vector(as,d);
//
moveto(x0,y0);
setcolor(GREEN);
vector(am,d-10);
delay(1000); //
//
setcolor(0);
//
moveto(x0,y0);
vector(as,d);
//
moveto(x0,y0);
vector(am,d-10);
s++;
if (s > 60) {
m++;
s = 0;

am -= 6; // 6
if (am < 0)

am = 354;

}
as -= 6;
if (as < 0)

as = 354;

} while ( !kbhit() );
}
void main(void)
{

251

int gdriver = DETECT; //


int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk)
{
clock();
closegraph(); //
}
else
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
}

240. ,
y = 2 sin(x) ex/5.
240
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
// ,
float f1(float x)
{

252
return(2 * sin(x) * exp(x/5));
}
void grafik()
{
float x1=0,

//

x2=25;
float y1,y2;

//

float x;

//

float y;

// x

float dx=0.01;
int l=50,

//

//

b=400;
int w=300,

//

h=200;
float mx,my;

// X Y

int x0,y0;

// -

char st[25];

//

//
// [x1,x2]
y1 = f1(x1); //
y2 = f1(x1); //
x = x1 + dx;
do {
y = f1(x);
if (y < y1)

y1 = y;

if (y > y2)

y2 = y;

x += dx;
} while (x <= x2);
//
my = h/fabs(y2-y1);
mx = w/fabs(x2-x1);

253

//
x0 = l;
y0 = b-abs(y1*my);
line(l,b,l,b-h);
line(x0,y0,x0+w,y0);
//
sprintf(st,"%3.2f",y2);
outtextxy(l+5,b-h,st);
sprintf(st,"%3.2f",y1);
outtextxy(l+5,b,st);
//
x = x1;
do {
y = f1(x);
putpixel(x0+x*mx,y0-y*my,15);
x += dx;
} while (x <= x2);
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk)
{
grafik();
getchar();
closegraph();
}

254
else {
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
}


, ,
:
,

, FILE.
, , -

, (, ) (
).
. -

, , (, fopen).
,

,
, .
, -

, \
(, \n).
, , \ (, c:\\temp).

255


fscanf,

fprintf.

( fclose).

241. ,
numbers.txt 5 ,
.
, .
241
//
#include "stdio.h"
#include "conio.h"
#define FNAME "numbers.txt\0" //
//

#define N 5

//
// ,
void main()
{
char fname[20] = FNAME;
FILE *f;

//

int n;

//

puts("\n ");
printf(" %s\n",
fname);
puts(" <Enter>\n");
// (w) (t)
// ,

256
//
// ,
// (a)
if ((f = fopen(fname, "wt")) == NULL)
{
printf(" ");
getch();
return;
}

for (int i = 0; i < N; i++)


{
printf("->");
scanf("%i", &n);
fprintf(f,"%i",n);
}
fclose(f);

//

printf(" %s\n", fname);


puts("\n <Enter>");
getch();
}

242. , numbers.txt
, . ,
, 8 .
242
//
#include "stdio.h"
#include "conio.h"
#define FNAME " numbers.txt\0" //
#define N 3

//

257

// numbers.txt
// ,
void main()
{
char fname[20] = FNAME;
FILE *f;

//

int n;

//

puts("\n ");
printf(" %s\n",
fname);
puts(" <Enter>\n");
// () (t)
// ,
if ((f = fopen(fname, "at")) == NULL)
{
printf(" ");
getch();
return;
}
for (int i = 0; i < N; i++)
{
printf("->");
scanf("%i", &n);
fprintf(f,"%i\n",n);
}
fclose(out);

//

printf(" %s\n", fname);


puts("\n <Enter>");
getch();
}

258

243. ,
numbers.txt.
243
//
#include "stdio.h"
#include "conio.h"
#define FNAME "numbers.txt\0" //
void main()
{
char fname[20] = FNAME;
FILE *f;
char st[80];

//
//

printf("\n %s\n", fname);


puts("---------------------------------");
// (r) (t)
if ((f = fopen(fname, "rt")) == NULL)
{
printf(" ");
getch();
return;
}
while (!feof())
{
fscanf(f,"%s", &st);
printf("%s\n", st);
}
fclose(f);

//

puts("---------------------------------");

259

puts("\n <Enter>");
getch();
}

244. , , numbers.txt.
244
// ,
//
#include "stdio.h"
#include "conio.h"
#define FNAME "numbers.txt\0" //
void main()
{
char fname[20] = FNAME;
FILE *f;

//

int a;

//

int n = 0;

//

int sum = 0; //
float sr;

//

puts("\n ");
printf(", %s", fname);
// (r) (t)
if ((f = fopen(fname, "rt")) == NULL)
{
printf(" ");
getch();
return;
}

260
while (!feof(f))
{
fscanf(f,"%i", &a);
sum += a;
n++;
}
fclose(f);

//

sr = (float) sum / n;
printf(" : %i\n", n);
printf(" : %i\n", sum);
printf(" : %3.2f", sr);
puts("\n <Enter>");
getch();
}

245. , ,
.
245
//
#include "stdio.h"
#include "conio.h"
#include "string.h"
void main()
{
#define NR 3
#define NC 6
//
float a[NR][NC] =
{
15.0,16.5,18.0,19.5,21.0,24.0,


16.5,18.0,19.5,21.0,22.5,24.0,
18.0,19.5,21.0,22.5,24.0,27.0
};
FILE *f; //
int r,c; //
//
printf("\n:\n");
for ( r = 0; r < NR; r++)
{
for (c = 0; c < NC; c++)
{
printf("%5.2f
", a[r][c]);
}
printf("\n");
}
// ,
//
// (w) (t)
// ,
//
if ((f = fopen("a.dat", "wt")) == NULL)
{
printf(" \n");
printf(" <Enter>");
getch();
return;
}
for ( r = 0; r < NR; r++)
{
for (c = 0; c < NC; c++)

261

262
{
fprintf(f, "%5.2f ", a[r][c]);
}
if ( r != NR-1)
fprintf(f, "\n");
}
fclose(f);
printf(" \n");
printf("\n <Enter>");
getch();
}

246. ,
.
246
#include "stdio.h"
#include "conio.h"
#include "string.h"
void main()
{
#define NR 3
#define NC 6

float a[NR][NC]; // NRNC - NR NC -

FILE *f; //
// ,
//
// (r) (t)
if ((f = fopen("c:\\borlandc\\cpp\\a.dat", "rt")) == NULL)

263

{
printf(" a.dat");
printf("\n <Enter>");
getch();
return;
}
int r,c; //
for ( r = 0; r < NR; r++)
{
for (c = 0; c < NC; c++)
{
fscanf(f, "%f", &a[r][c]);
}
}
fclose(f);
printf("\n, :\n");
//
for ( r = 0; r < NR; r++)
{
for (c = 0; c < NC; c++)
{
printf("%7.2f

", a[r][c]);

}
printf("\n");
}
printf("\n <Enter>");
getch();
}

247. , ( ), ,

264

C++.
.
247
// ,
//
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define

MAXLEN 80

//

void main()
{
char fname[40];
FILE *;

//
//

char st[MAXLEN+2];// ,
int n = 0;

// - ,

char key;

// ,

puts(" ");
puts(" <Enter>");
printf("->");
scanf("%s",&fname);
// (r) (t)
if ((f = fopen(fname, "rt")) == NULL)
{
printf(" %s\n", fname);
getch();
return;
}
clrscr();

265

while (!feof(f))
{
fgets(st, MAXLEN, f);
printf("%s", st);
if (++n > 21)
{
printf("\n ");
printf(" ...");
key = getch();
gotoxy(1,wherey()); //
// "

delline;

// ..."
n = 0;
}
}
fclose(f);

//

printf("\n <Enter>");
getch();
}

248. ,
contacts.txt , , , . ,
.
(, , ) .
.

->
->
-> 234-84-37

<Enter>

266
248

// contacts.txt ,
#include "stdio.h"
#include "conio.h"
#define FNAME "contacts.txt\0" //
void main()
{
char fname[20] = FNAME;
FILE *f;

//

char fam[15];

//

char name[15]; //
char tel[9];

//

puts("\n \n");
// () (t)
// ,
if ((out = fopen(fname, "at")) == NULL)
{
printf(" ");
getch();
return;
}
//
printf(" ->");
scanf("%s", &fam);
printf(" ->");
scanf("%s", &name);
printf(" ->");
scanf("%s", &tel);
//
fprintf(f,"%s %s %s", fam, name, tel);

267

puts("\n ");
fclose(f);

//

printf("\n\n <Enter>\n");
getch();
}

249. (. 247) ,
contacts.txt . .

<Enter>
->
->
-> 234-84-37

->
->
-> 552-18-40

->

<Enter>

250. ,
( contacts.txt) .
.
,
.
.

<Enter>. <Enter>
->
.

268
->
578-12-45
244-34-02
->

250
//
#include "stdio.h"
#include "conio.h"
#define FNAME "contacts.txt\0" //
void main()
{
char fname[20] = FNAME;
FILE *f;

// -

char obr[15];

// -

//
char fam[15];

//

char name[15]; //
char tel[9];

//

int n = 0; // ,
puts("\n ");
// (r) (t)
if ((f = fopen(fname, "rt")) == NULL)
{
printf(" %s", fname);
getch();
return;
}
//
printf(" ->");

269

scanf("%s", &obr);
//
while (!feof(f))
{
fscanf(f,"%s %s %s", &fam, &name, &tel);
if (fam == obr)
{
printf("%s %s %s",fam, name, tel);
n++;
}
}
if (n )
printf(" : %i", n);
else
printf(" %s ", obr);
fclose(f);

//

puts("\n <Enter>");
getch();
}

251. , " " " ".


, .
***
1 2 0 -

***

->

252. , . ,
,
. -

270

. .
:
.
:
,
80% , 60%, 60%.
(Ni i- , Ki ),
( , ,
).

1
N1 K1
1
...
k
2
N2 K2
1
...
k
m
Nm Km
1
...
k

do wile while
2 2


unsigned int
2 1
0 65535
0 32767

271


2 2
scanf ("%f", &kurs);
scanf("%f", kurs);
.
.
<Enter>
do wile while
1
2
-> 2
unsigned int
1 0 65535
2 0 32767
-> 1

1 scanf ("%f", &kurs);
2 scanf("%f", kurs);
-> 2
!
<Enter>

252
//
//
#include "stdio.h"
#include "conio.h"
#include "string.h"
void main(int argc, char* argv[])
{
char fname[40]; //
FILE* f;

//

int VsegoVopr = 0; //
int PravOtv = 0;

//

//

272
int nOtv;

//

int Prav;

//

int Otv;

// ,

int p;

//

char st[80];

//

int i; //
if ( !argc )
{
puts("\n !");
puts(" : test \n");
return;
}
strcpy(fname,argv[1]); //
// (r) (t)
if ((f = fopen(fname, "rt")) == NULL)
{
printf(" %s", fname);
getch();
return;
}
clrscr();
puts("\n .");
puts(" .");
puts(" ");
puts(" <Enter>\n");
printf
(" <Enter>");
getch();
textbackground(BLUE);

273

clrscr();
while (!feof(f))
{
VsegoVopr++;
fgets(st, 80, f);
printf("\n%s\n", st);

//
//

fscanf(f,"%i %i", &nOtv, &Prav);// -


//
// .
fgets(st,80,f); //
//
for (i = 1; i <= nOtv; i++)
{
fgets(st, 80, f);
printf("%i. %s", i, st);
}
printf("\n ->");
scanf("%i", &Otv);
if (Otv == Prav)

PravOtv++;

}
//
//
p = 100 * PravOtv / VsegoVopr;
printf("\n - ");
if (p == 100) puts("!");
if (p >= 99 && p <= 80) puts(".");
if (p >= 60 && p <= 79) puts(".");
if (p < 60) puts("!\n");
puts("\n <Enter>");
getch();
}

274

253. , , .
, .
253
//
// ,
// -
#include <stdio.h>
#include <dir.h>
#include <string.h>
#include <conio.h>
// #define DEBUG

//

//
// ,
void main(int argc, char *argv[])
{
struct ffblk ffblk;

//

int done;
FILE *in;

//

int n;

//

char mask[MAXPATH];
char infile[MAXPATH];
char outfile[MAXPATH];
if (argc < 2)
{
puts(" ");
puts(" ");
printf(" : %s path\\\n", argv[0]);
return;

275

}
printf("\n \n");
//
strcpy(mask, argv[1]);
strcat(mask,"*.cpp");
// -
strcpy(outfile, argv[1]);
strcat(outfile,"filelist.txt");
printf(": %s",
n = 0;

mask);

done = findfirst(mask, &ffblk,0);


while (!done)
{ n++;
#ifdef DEBUG
printf("%s ", ffblk.ff_name);
#endif
strcpy(infile, argv[1]);
strcat(infile,ffblk.ff_name);
if ((in = fopen(infile, "rt")) != NULL)
{
//
char st[80];
fgets(st, 80, in);
printf("%s %s", infile, st);
fclose(in);
}
done = findnext(&ffblk); //
}
printf("\n : %d\n", n);
printf(" <Enter>");
getch();
}

276

, ,
:
, -

.
,

,
.
254.
, .
254
// ""
#include "stdio.h"
#include "conio.h"
unsigned int factor(unsigned int k)
{
if ( k == 1 )
return(1);
else
return(k*factor(k-1));
}
void main()
{
unsigned int n; // ,
unsigned int f; // n
puts(" \n");
puts(" , ");
printf("->");
scanf("%u", &n);

277

f = factor(n);
printf(" %u %u", n, f);
printf("\n <Enter>");
getch();
}

255. , , .

255
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
//
void elem(int x, int y, int r, int p)

278
{
// x,y,r -

//

// p -
if ( p )
{
circle(x, y, r);
delay(100);
elem(x+r, y,
elem(x,

elem(x-r, y,
elem(x,

r/2, p-1);

y-r, r/2, p-1);


r/2, p-1);

y+r, r/2, p-1);

}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk)
{
elem(320, 240, 60, 5); // 5-
outtext(" <Enter>");
getch();
closegraph(); //
}
else
{

279

printf(": %d\n", errorcode);


puts(" <Enter>");
getch();
}
}

256. ,
.
( R2) .
R1

R1

R2
R3

R1

R2

R2

R3

R2
R3

256
//
// n-
#include <stdio.h>
#include <conio.h>
float r1,r2,r3; // ,
//
// n-
float rcep(int n)
{
float r; // (n-1)-
if (n == 1)
return(r1 + r2 + r3);
else

280
{
r = rcep(n-1);
return (r1 + r2*r/(r2+r) + r3);
}
}
void main()
{
int n;

// ()

float rc;

//

puts("\n ");
puts(" ():");
printf("r1 ->");
scanf("%f", &r1);
printf("r2 ->");
scanf("%f", &r2);
printf("r3 ->");
scanf("%f", &r3);
printf(" ->");
scanf("%i", &n);
rc = rcep(n);//
// rcep
printf(" :");
if (rc > 100)
{
rc /= 1000;
printf("%5.2f \n", rc);
}
else
printf("%5.2f \n", rc);
puts("\n <Enter>");
getch();
}

281

257. , , 255.
.
257
//
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
// .
// x,y
void drcep(int k, int x, int y)
{
#define dx 7 // X
#define dy 7 // Y
setcolor(GREEN);
line(x,y,x+2*dx,y);
rectangle(x+2*dx,y-dy,x+6*dx,y+dy);
line(x+6*dx,y,x+8*dx,y);
outtextxy(x+3*dx,y-3*dy,"R1");
setcolor(YELLOW);
line(x+8*dx,y,x+8*dx,y+2*dy);
rectangle(x+7*dx,y+2*dy,x+9*dx,y+6*dy);
line(x+8*dx,y+6*dy,x+8*dx,y+8*dy);
outtextxy(x+10*dx,y+2*dy,"R2");
setcolor(LIGHTGRAY);
line(x,y+8*dy,x+2*dx,y+8*dy);
rectangle(x+2*dx,y+7*dy,x+6*dx,y+9*dy);
line(x+6*dx,y+8*dy,x+8*dx,y+8*dy);

282
outtextxy(x+3*dx,y+5*dy,"R3");
if ( k > 1 )

drcep(k-1, x+8*dx, y);

}
void main(void)
{
int k; //
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk)
{
printf(" -> ");
scanf("%i", &k);
drcep(k, 10, 50);
outtextxy(10,200,
" <Enter>");
getch();
closegraph(); //
}
else
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
}

283

258. ,
( ,
).

259. ,
, 90 : , .
, "" .
259
//
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
#define DT 3
#define u 10

//
//

void Gilbert(int p); //


void main(void)

284
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk) {
outtextxy(10,10," ...");
Gilbert(4);
outtextxy(10,25," <Enter>");
getch();
closegraph();
}
else {
printf(": %d\n", errorcode);
printf("\ <Enter>");
getch();
}
}
// : a,b,c d.
// .
void a(int i);
void b(int i);
void c(int i);
void d(int i);
void my_lineto(int x2, int y2); //
void Gilbert(int p) // p -
{


moveto(450,50);
a(p);
}
// .
void a(int i)
{
if (i > 0) {
d(i-1); my_lineto(getx() - u, gety());
a(i-1); my_lineto(getx(), gety() + u);
a(i-1); my_lineto(getx() + u, gety());
b(i-1);
}
}
void b(int i)
{
if (i > 0)
{
c(i-1); my_lineto(getx(),gety() - u);
b(i-1); my_lineto(getx() + u, gety());
b(i-1); my_lineto(getx(),gety() + u);
a(i-1);
}
}
void c(int i)
{
if (i > 0) {
b(i-1); my_lineto(getx() + u,gety());
c(i-1); my_lineto(getx(), gety() - u);
c(i-1); my_lineto(getx() - u,gety());
d(i-1);

285

286
}
}
void d(int i )
{
if (i > 0) {
a(i-1); my_lineto(getx(),gety() + u);
d(i-1); my_lineto(getx() - u,gety());
d(i-1); my_lineto(getx(),gety() - u);
c(i-1);
}
}
//
void my_lineto(int x2, int y2)
{
int x1,y1;

//
// x2,y2 -

int x,y;

//

int dx;

//

int dy;

// y
//

int color;

//

int a,b;

//

int n;

// -

int i;
x1 = getx();
y1 = gety();
if ( x1 != x2 )
{
//
a = (y2-y1)/(x2-x1);


b = y1- a * x1;
n = abs(x2-x1)+1;
if (x2 > x1)
dx = 1;
else dx = -1;
x = x1;
color = getcolor();
for (i = 1; i<= n; i++)
{
y = a*x + b;
putpixel(x,y,color);
delay(DT);
x += dx;
}
}
else { //

n = abs(y2-y1);
if (y2 > y1)
dy = 1;
else dy = -1;
x = x1;
y = y1;
color = getcolor();
for (i = 1; i<=n; i++)
{
putpixel(x, y, color);
delay(DT);
y += dy;
}
}
putpixel(x2, y2, color);
moveto(x2, y2);
}

287

288

260. , .
. , .

260
//
#define u 5

//

#define DT 25 //
#define PATHTODRIVER "c:\\borlandc\\bgi\\"
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
//
// : a,b,c d
//
void a(int i);
void b(int i);
void c(int i);
void d(int i);
//

289

//
#define linetodxy(dx,dy) lineto(getx()+dx,gety()+dy)
void far lineto(int x2, int y2); //
// ,
//
//
void a(int i)
{
if (i > 0)
{
a(i-1); linetodxy(u, u);
b(i-1); linetodxy(2*u,0);
d(i-1); linetodxy(u, -u);
a(i-1);
}
}
void b(int i)
{
if (i > 0)
{
b(i-1);linetodxy(-u,u);
c(i-1);linetodxy(0, 2*u);
a(i-1);linetodxy(u,u);
b(i-1);
}
}
void c(int i)
{
if (i > 0)
{
c(i-1);linetodxy(-u,-u);

290
d(i-1);linetodxy(-2*u,0);
b(i-1);linetodxy(-u,u);
c(i-1);
}
}
void d(int i)
{
if (i > 0)
{
d(i-1);linetodxy(u,-u);
a(i-1);linetodxy(0,-2*u);
c(i-1);linetodxy(-u,-u);
d(i-1);
}
}
void main(void)
{
int gdriver = DETECT; //
int gmode;

//

int errorcode;

//

initgraph(&gdriver, &gmode, PATHTODRIVER);


errorcode = graphresult();
if (errorcode == grOk)
{
int p; //
puts(" .");
puts(" (1-4) <Enter>");
printf("->");
scanf("%i", &p);
printf(" %i- \n", p);

291

moveto(100,100);
//
a(p); linetodxy(u,u);
b(p); linetodxy(-u,u);
c(p); linetodxy(-u,-u);
d(p); linetodxy(u,-u);
puts(" <Enter>");
getch();
closegraph();
}
else
{
printf(": %d\n", errorcode);
puts(" <Enter>");
getch();
}
}
//
// ,
//
#include <dos.h>
void far lineto(int x2, int y2)
{
int x1,y1;

// , x2,y2 -

int x,y;

//

int dx;

//

int dy;

// y

int color;//

292
int a,b;

//

int n;

// -

int i;
x1 = getx();
y1 = gety();
color = getcolor();
if ( x1 != x2 )
{
//
a = (y2-y1)/(x2-x1);
b = y1- a * x1;
n = abs(x2-x1)+1;
if (x2 > x1)
dx = 1;
else
dx = -1;
x = x1;
for (i = 1; i<= n; i++)
{
y = a*x + b;
putpixel(x,y,color);
delay(DT);
x += dx;
}
}
else //

{
n = abs(y2-y1);
if (y2 > y1)
dy = 1;


else dy = -1;
x = x1;
y = y1;
for (i = 1; i<=n; i++)
{
putpixel(x, y, color);
delay(DT);
y += dy;
}
}
putpixel(x2, y2, color);
moveto(x2, y2);
}

293

II


++ , main.
- main.
main ,
:
int main(int argc, char* argv[])
{
/*

*/
return();
}

main , :
void main()
{
/*

*/
}

II

298


C/C++ :
(int .);
() (float .);
(char).

int

16

32 768 ... 32 767

short int

16

32 768 ... 32 767

unsigned int

16

0 ... 65 535

enum

16

32 768 ... 32 767

long

32

2 147 483 648 ... 2 147 483 647

unsigned long

32

0 ... 4 294 967 295

float

32

double

64

long double

80

3,4 10

38

... 3,4 10

38

308

... 1,7 10

308

4 932

... 1,1 10

4 932

1,7 10
3,4 10

unsigned char

0 ... 255

char

128 ... 127

299

char .
,
unsigned char.

.
:
char [];

:
[];

:
[1][2];

. 0 (N-1), N
, .

x++

x = x + 1

x-

x = x 1

x += y

x = x + y

x -= y

x = x y

x *= y

x = x*y

x %= y

x = x % y

II

300

if
1
if ( )
{
// ,
// ,
// ( )
}

2
if ( )
{
// ,
// ,
// ( )
}
else
{
// ,
// ,
// ( )
}

switch
1
switch ( )
{
case 1: 1; break;
case 2: 2; break;
case j: j; break;
default:
; break;
}

301

2
switch ( )
{
case 1: 1; break;
case 2: 2; break;
case j: j; break;
}

for
:
for ( ; ; )
{
// ( )
}

,
. , ( ).

. , ,
.

do while
:
do
{
// ( )
}
while ( );

II

302

( ), ,
( ),
. , ,
. . .

while
:
while ( )
{
// ( )
}

.
( ),
( ).
, ( ), . ,
( ).


(1 1, ... j j)
{
//
//
return ( );
}

, , .
, void.
return .

. ,
, . . *.
j, j

303


:
Courier;
, . . , -

;
.

, ;
,


, .

-
printf
:
int printf(, );

.
, .
, . .
( n ).

%ni
%nd

%nu

%n.mf

.
m

II

304

()

%ne

,

,

%ns

%nc

\n

\t

\\

\'

: <stdio.h>

scanf
:
int scanf(const char* , );

, .
,
. .

scanf
, .

%i
%d

%u

305
()

%f
%e

%s

%c

: <stdio.h>

puts
:
puts(const char* );


.
.
: <stdio.h>

gets
:
char *gets(char* s);

.
.
: <stdio.h>

putch
:
int putch(int c);

.
: <conio.h>

II

306

getch
:
int getch(void);

. , getch 0. ,
, , ,
getch .

getch ,
.

: <conio.h>

cputs
:
cputs(const char* );

. textcolor,
textbackground.

\n \n\r, , . cprintf.

: <conio.h>

cprintf
printf, cpfintf . ( textcolor) (textbackground).
: <conio.h>

307

sprintf
:
int sprintf(char *, const char* , );

.
,
, .
.

sprintf
printf, -, .
: <stdio.h>

textcolor
:
void textcolor(int );

cputs cprintf .
.

BLACK

BLUE

GREEN

CYAN

RED

MAGENTA

BROWN

LIGHTGRAY

DARKGRAY

II

308

()

LIGHTBLUE

LIGHTGREEN

10

LIGHTCYAN

11

LIGHTRED

12

LIGHTMAGENTA

13

YELLOW

14

()

WHITE

15

: <conio.h>

textbackground
:
void textbackground(int );

, , cputs cprintf. .

BLACK

BLUE

GREEN

CYAN

RED

MAGENTA

BROWN

LIGHTGRAY

: <conio.h>

309

gotoxy
:
void gotoxy(int x, int y)

. , y ,
,
.
: <conio.h>

clrscr
:
void clrscr(void)

,
textbackground.
: <conio.h>

window
:
void window(int x1, int y1, int x2, int y2);

. x1, y1 , x2,y2 .
: <conio.h>


fopen
:
FILE* fopen(const char * , const char* )

II

310

, .

. .
, fopen, ,
, . .

.
. ,
fopen, ,

, , ,
t. , rt , .
fopen
,
. - , fopen NULL.
, ,
ferror.
: <stdio.h>

fprintf
:
int fprintf(FILE *, , );

(. printf) , , .
, , ,
, (. fopen).
: <stdio.h>

311

fscanf
:
int fscanf(FILE *,
const char* , );

(. scanf) , ,
.
, , ,
, (. fopen).
: <stdio.h>

fgets
:
char* fgets(char *,
int , FILE *)

,
. , -1
.

.
, ,
, (. fopen).
: <stdio.h>

fputs
:
char* fputs(char *, FILE *)

.
, -, .

312

II

, ,
, (. fopen).
: <stdio.h>

ferror
:
int ferror(FILE* )

, .
: <stdio.h>

feof
:
int feof(FILE* )

,
.
: <stdio.h>

fclose
:
int fclose(FILE* )

.
: <stdio.h>


strcat
:
char *strcat(char* 1, const char* 2)

313

1 2
1.
: <string.h>

strcpy
:
char *strcpy(char* 1, const char* 2)

2 1.
: <string.h>

strlen
:
int strlen(const char* )

. .
: <string.h>

strcmp
:
int strcmp (const char* 1,
const char* 2)

1 2. 0,
, , 1 < 2
, 1 > 2.
: <string.h>

strlwr
:
char* strlwr(char* )

( ).
: <string.h>

314

II

strupr
:
char* strupr(char* )

( ).
: <string.h>

strset
:
char* strset(char* , char )

.
: <string.h>

strchr
:
char* strchr(const char* , int )


, , NULL.
: <string.h>


abs, fabs
:
int
abs(int x);
double fabs(double x);

(abs) (fabs)
,
.
: <math.h>

315

acos, asin, atan, acosl, asinl, atanl


:
double acos (double x);
double asin (double x);
double atan (double x);
long double acosl(long double x);
long double asinl(long double x);
long double atanl(long double x);

, ,
.
1 1.
: <math.h>

cos, sin, tan


cosl, sinl, tanl
:
double cos (double x);
double sin (double x);
double tan (double x);
long double cosl(long double x);
long double sinl(long double x);
long double tanl(long double x);

, .
.
: <math.h>

exp, expl
:
double exp(double x);
long double exp(long double (x));

316

II

, (ex, e
).
: <math.h>

pow, powl
:
double pow (double x, double y);
long double powl(long double (x), long double (y));

, xy.
: <math.h>

sqrt
:
double sqrt(double x);

, .
: <math.h>

rand
:
int rand(void);

0 RAND_MAX.
rand , srand.

srand
:
void srand(unsigned x);

.
,

317

,
.
: <stdlib.h>

atof
:
double atof(const char* s);

,
. ,
.
,
.
: <stdlib.h>

atoi, atol
:
int atoi(const char* s);
long atol(const char* s);

,
.
, , .
: <stdlib.h>

gcvt
:
char *gcvt(double , int , char* );

318

II

. ,
,
.
: <stdlib.h>

itoa, ltoa, ultoa


:
char* itoa (int , char* , int );
char* ltoa (long , char* , int );
char* ultoa(unsigned long , char* , int
);

,
.
.
, .
( 2 36).

, itoa,
17 , ltoa ultoa 33 .
: <stdlib.h>


arc
:
void arc(int x, int y, int , int ,
int );

(x, y).
,
.
.

319

. .

, setcolor.
: <graph.h>

bar
:
void bar(int x1, int y1, int x2, int y2);

. x1 y1
, x2
y2 .

setfillstyle.
: <graph.h>

bar3d
:
void bar3d(int x1,int y1,int x2, int y2,
int , int _);

. x1 y1 , x2 y2 .
, _ ,

II

320

.
_ , .

(x1,y1)

(x2,y2)


setfillstyle, setcolor.
: <graph.h>

circle
:
void circle(int x, int y, int r)

r (x, y).
setcolor.
: <graph.h>

321

drawpoly
:
void drawpoly(int , int * );

,
. ,
. .
(x y), . .
: <graph.h>

ellipse
:
void ellipse(int x, int y, int ,int ,
int X, int Y );

(x, y). ,

. .
. X Y .

Rx
Ry

Rx

Ry

,
setcolor.
: <graph.h>

322

II

getmaxx, getmaxy
:
int getmaxx(void);
int getmaxy(void);

getmaxx x
, getmaxy y
.
: <graph.h>

getx, gety
:
int getx(void);
int gety(void);

x (y) .
: <graph.h>

graphresult
:
int graphresult(void);

( )
. ,
.
: bar, bar3d, initgraph,
pieslice,
setfillpattern,
setfillstyle,
setlinestyle,
settextstyle .
: <graph.h>

grapherrormsg
:
char* grapherrormsg(int );

323

, , ,
.
: <graph.h>

initgraph
:
void initgraph(int* Driver, int* Mode, char* Path);

. Driver , Mode , Path .

Driver
, DETECT.
initgraph
.

: <graph.h>

line
:
void line(int x1, int y1, int x2, int y2);

x1, y1 x2, y2.


setcolor,
setlinestyle.
: <graph.h>

lineto
:
void lineto(int x, int y);


, . -

II

324

, setlinestyle. , setcolor.
: <graph.h>

linerel
:
void linerel(int dx, int dy);

(xt,yt) (xt+dx, yt+dy), . . .


,
setlinestyle. , setcolor.

getx gety.

: <graph.h>

moveto
:
void moveto(int x, int y);

.
: <graph.h>

moverel
:
void moverel(int dx, int dy);

dx dy .
dx (dy) ,
(), , ().
: <graph.h>

325

outtext
:
void outtext(const char* );

, .

, outtext,
, \n.


setcolor, settextstyle.
: <graph.h>

outtextxy
:
void outtextxy(int x, int y, const char* );

(x, y)
,
, . . (x, y).

settextstyle.

setcolor,

: <graph.h>

pieslice
:
void pieslice(int x, int y, int , int ,
int );


(x, y).
-

II

326

, . .
. , (x, y) x.
=0, =360, pieslice .

, setfillslyle, , setcolor.
: <graph.h>

putpixel
:
void putpixel(int x, int y, int );

, (x, y), .

(. setcolor).
: <graph.h>

rectangle
:
void rectangle(int x1, int y1, int x2, int y2);

327

. x1 y1 , x2 y2
.
( )
setlinestyle,
setcolor.
: <graph.h>

sector
:
void sector(int x, int y, int 1, int 2, int X,
int Y);

(X Y)
(X = Y) . x y
. , , X Y
X Y, "" .
, (x, y) x.
1=0, 2=360, sector
().

Rx

Rx
Ry

Ry

setfillstyle,
setcolor.

: <graph.h>

II

328

setcolor
:
void setcolor(int );

( outtextxy outtext), ( line, circle, recktangle .).



.

BLACK

BLUE

GREEN

CYAN

RED

MAGENTA

BROWN

LIGHTGRAY

DARKGRAY

LIGHTBLUE

LIGHTGREEN

10

LIGHTCYAN

11

LIGHTRED

12

LIGHTMAGENTA

13

YELLOW

14

()

WHITE

15

: <graph.h>

329

setfillstyle
:
void setfillstyle(int , int );

(), (bar, bar3d, sector .).


, .
(. setcolor).

EMPTY_FILL

( )

SOLID_FILL

LINE_FILL

LTSLASH_FILL

45

SLASH_FILL

45

BKSLASH_FILL

45

LTBKSLASH_FILL

45

HATCH_FILL

XHATCH_FILL

45

INTERLEAVE_FILL

45

WIDEDOT_FILL

CLOSEDOT_FILL

USER_FILL

: <graph.h>

setlinestyle
:
void setlinestyle(int , int , int );

(. line, circle .).

II

330

,
,
.

SOLID_LINE

DOTTED_LINE

CENTER_LINE

DASHED_LINE

, ,
DOTTED_LINE

USERBIT_LINE

.
( NORM_WIDTH) ( THICK_WIDTH).
,
setlinestyle , . , 16 .
: <graph.h>

settexstyle
:
void settexstyle(int , int , int );

, ,
outtextxy outtext.
.

DEFAULT_FONT

.

88

331
()

TRIPLEX_FONT

Triplex

SMALL_FONT

SANSSERIF_FONT

SansSerif

GOTHIC_FONT

, (DEFAULT_FONT), .

,
outtext outtextxy. (
HORIZ_DIR)
, (
VERT_DIR).
: <graph.h>


delay
:
void delay(unsigned );

.
: <dos.h>

sound
:
void sound(unsigned );

. -

II

332

. ,
nosound.
, .

-, -

-, -

-, -

-, -

-, -

()
-, -

-, -

-, -

-, -

-, -

,
130
138,6
146,8
155,6
164,8
174,6
185
196
207,7
220
233,1
246,9
261,7
277,2
293,7
311,1
329,6
349,2
370
392,0
415,3
440
466,2
493,9

: <dos.h>

nosound
,
.
: <dos.h>

1

graph ,
, . .
.
draw, 16- bmp-. Microsoft
Windows, , Paint.
#include <stdio.h>
#include <graphics.h>
/* draw 16-
, bmp-
() . ., 2001
*/
int draw(int x0, int y0, char* fname)
{
/*
x0,y0

fname ;
:
>0 ;

336
-1 ;
-2
16-.
*/
//
// Windows -> DOS
unsigned char color[16] =
{0,4,2,6,1,5,3,7,
8,12,10,14,9,13,11,15};
// bmp- ,
// :
//
struct bmpinfo
{

// BM

char h1,h2;
unsigned long

size,
// ,
reserved, // ,
offset,
//
//
b,
//
width,
//
height;
//
unsigned int
plans,
bpp;

// - , 1
// - : 1, 4, 8 24

};
bmpinfo info;

//

FILE *f;

//

int x,y;

//

unsigned char b;

// ,

337

unsigned char bh; // 4


//
unsigned char bl; //
//
// - ( )

int nb;

//
// -

int np;
int i,j;

if ((f = fopen(fname, "rb")) == NULL)


return -1;
//
fread(&info, sizeof(info),1, f);
if (info.bpp != 4 )
return -2;

// 16-

x = x0;
y = y0 + info.height;
nb = (info.width / 8)*4;
if ((info.width / 8) != 0) nb += 4;
fseek(f, info.offset, SEEK_SET);
//
for (i = 0; i < info.height; i++)
{
np = 0;

// -

for (j = 0; j < nb; j++) //


{
b = fgetc(f);
if ( np < info.width)
{
bh = b >> 4;

338
putpixel(x,y,color[bh]);
x++;
np++;
}
if (np < info.width)
{
bl = b & 15;
putpixel(x,y,color[bl]);
x++;
np++;
}
}
x=x0;
y--;
}
fclose(f);
return info.height;
}


0127.

339

128255.



,

.
0 9.
,
. , ,
. . , 2703
2 1000 + 7 100 + 0 10 + 3 1.
()
, ,
i- i- (. 1).

340

. 1.

.
. ,
. i-
i- (. 2).

. 2.

341

,
.
, . ,
.
,
, , ( ).

(. 3).
.
, , . . 1
15 .

1011 0101

11

B5

. 3.

342

1.

10

11

12

13

14

15


0x.
: 0x2A, 0xFF, 0x01.

-
- . ,
,
- .

D, F, I, P, S, W
do while 110
for 78
if 39
printf 14
scanf 20
switch 65
while 122

20
:
if 40, 41
switch 66
41, 66
:
14
339
"" 123


215
224, 237
251
:
228
233, 245

:
20
:
245
233, 241

:
for 78
if 39
switch 65
while 122
:

100, 118
101

164

126
126, 145
145

130
(
. . 348)

348

():
260

142

129
133, 142
140
137, 138

132
262
:
149
157
,

125
:
133
142
:
174
103

178
166

175
117
,
276
:
164

165

:
344
343
341
215
:
137, 138
"" 138
137
:
161
168

110

:
256
255
267
263
255
258
15
:
abs 314
acos 315
arc 318
atof 317
atoi 317
atol 317
bar 319
bar3d 319
circle 320
clrscr 309
cos 315
cprintf 306

cputs 306
delay 331
drawpoly 321
ellipse 321
exp 315
fclose 312
feof 312
ferror 312
fgets 311
fopen 309
fprintf 310
fputs 311
fscanf 311
gcvt 317
getch 306
getmaxx getmaxy 322
gets 305
getx 322
gotoxy 309
grapherrormsg 322
graphresult 322
initgraph 323
itoa 318
line 323
linerel 324
lineto 323
ltoa 318
moverel 324
moveto 324
nosound 332
outtext 325
outtextxy 325

188

:
do while 110

349

pieslice 325
pow 316
printf 303
putch 305
putpixel 326
puts 305
rand 316
rectangle 326
scanf 304
sector 327
setcolor 328
setfillstyle 329
setlinestyle 329
settexstyle 330
sin 315
sound 331
sprintf 307
sqrt 316
srand 316
strcat 312
strchr 314
strcmp 313
strcpy 313
strlen 313
strlwr 313
strset 314
strupr 314
tan 315
textbackground 308
textcolor 307
utoa 318
window 309
for 78
while 122

345
345

Вам также может понравиться