Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 200-219)

Задача 209.

// Узор из окружностей // случайного радиуса и цвета
iinclude <graphics.h> #include <stdlib.h> #include <stdio.h>
#include <conio.h> #include "time.h" #include "dos.h"
I #define PATHTODRIVER "c: WborlandcWbgiW'
// узор из окружностей void cuzor(int n)
ttdefine DELAY // задержка между выводом окружностей int x,y,r;
// координаты центра и радиус окружности time_t t;
srand((unsigned)time(&t)); // инициализация ГСЧ for (int i = 0; i < n; i++)
x = randO % 640; у = randO % 480; r = randO % 240;
setcolor(rand() circle (x,y, r);
#ifdef DELAY delay(5); #endif
void main(void)
int gdriver = DETECT; // драйвер
int gmode; // режим
int errorcode; // код ошибки
initgraphf&gdriver, Sgmode, PATHTODRIVER); errorcode = graphresult();
if (errorcode!= grOk) // ошибка инициализации
// графического режима {
printf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите Enter");
getch();
exit (1);
}
cuzor(200); // узор из окружностей
getch();
closegraph(); // выход из графического режима

Задача 211.

// Узор из линий случайного цвета
#include <graphics.h> "include <stdlib.h>: .finclude <stdio.h>
#include <conio.h> ¦include "time.h"
[define PATHTODRIVER "c: WborlandcWbgiW"
// узор из линий void luzor(int n)
int x,y; // координаты конца линии int с; // цвет линии time_t t;
srand((unsigned)time(&t)); // инициализация ГСЧ for (int i = 0; i < n;' i++)
x = rand() % 640; у = rand() % 480; с = rand() % 16; setcolor(c); lineto(x,y);
void main(void)
int gdriver = DETECT; // драйвер
int gmode; // режим
int errorcode; // код ошибки
initgraphf&gdriver, Sgmode, PATHTODRIVER); errorcode = graphresult();
if (errorcode!= grOk) // ошибка инициализации
// графического режима
ntf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите Enter");
getch();
exit(l);
luzor(200); // узор из окружностей
getch();
closegraph(); // выход из графического режима

Задача 212.

// Контур пятиконечной звезды
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
ttdefine PATHTODRIVER "c: WborlandcWbgiW"
// контур пятиконечной звезды
#include "math.h"
void starline(int xO, int yO, int r)
(
// x0, y0 – координаты центра звезды
//r – радиус звезды
int x,y;// координаты конца луча
// или впадины int a; // угол между осью ОХ и прямой,
// соединяющей центр звезды и
// конец луча или точку впадины int rl; // радиус окружности расположения
// точек впадин
#define RTOR 2.5 // отношение радиуса лучей //к радиусу впадин
а = 18; // строим от правого гор. луча
rl = r/RTOR;
х = x0+r*cos(a*2*M_PI/360);
у = y0-r*sin(a*2*M_PI/360);
moveto(x,y);
for (int i = 0; i < 5; i++)
a = a+36;
x = x0+rl*cos(a*2*M_PI/360);
у = y0-rl*sin(a*2*M_PI/360);
lineto(x,y); // от луча к впадине
а = а+36;
if (а > 360) а = 18;
х = x0+r*cos(a*2*M_PI/360);
у = y0-r*sin(a*2*M_PI/360);
lineto(х,у); // от впадины к лучу
void main(void)
int gdriver = DETECT; // драйвер
int gmode; int errorcode;
// режим
// код ошибки
initgraph(&gdriver, Sgmode, PATHTODRIVER); errorcode = graphresult();
if (errorcode! = grOk.) // ошибка инициализации
// графического режима {
printf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите Enter")
getch();
exit(l);
starline(100, 100, 50);
getch();
closegraph0; // выход из графического режима
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.