Залить фигуру разными цветами и вычислить площадь - C (СИ)
Формулировка задачи:
Здесь нарисована фигура!!Как ее залить разными цветами и вычислить площадь подскажите пожалуйста!!!
#include <conio.h> #include <process.h> #include <graphics.h> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <time.h> void zaliv (int, int); int main () { int i; int gd = DETECT, gm, erc, x, y, col; double s1, s2, s3; char *color[] = {"black", "blue", "green", "cyan", "red", "magneta", "brown", "lightgrey", "darkgrey", "lightblue", "lightgreen", "lightcyan", "lightred", "lightmagneta", "yellow", "white"}; char buffer[240]; clrscr (); randomize (); initgraph (&gd, &gm, "c:\\bc31\\bgi"); erc = graphresult (); if (erc != grOk) { printf ("ѓа дЁзҐбЄ п ®иЁЎЄ : %s\n", grapherrormsg (erc)); printf ("Ќ ¦¬ЁвҐ Є« ўЁиг ¤«п ўл室 ..."); getch (); exit (1); } rectangle(120,160,160,320); rectangle(320,200,280,320); line(240,200,360,200); line(240,180,240,200); line(240,180,260,160); line(260,160,340,160); line(340,160,360,180); line(360,180,360,200); arc(520,240,90,270,80); arc(520,240,90,270,40); line(520,160,520,200); line(520,280,520,320); getch (); closegraph (); return 0; }
??????
помогите
кто знает??????????????????7
кто знает??????????????????7
Решение задачи: «Залить фигуру разными цветами и вычислить площадь»
textual
Листинг программы
#include <conio.h> #include <graphics.h> #include <stdio.h> #include <stdlib.h> void fill (int, int, int); int main () { clrscr (); int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, ""); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } rectangle(120,160,160,320); rectangle(320,200,280,320); line(240,200,360,200); line(240,180,240,200); line(240,180,260,160); line(260,160,340,160); line(340,160,360,180); line(360,180,360,200); arc(520,240,90,270,80); arc(520,240,90,270,40); line(520,160,520,200); line(520,280,520,320); fill(150, 240, GREEN); fill(309, 250, MAGENTA); fill(309, 190, BLUE); fill(518, 190, YELLOW); getch (); closegraph (); return 0; } void fill(int xf, int yf, int color) { int l, xr, xl, x, back; setfillstyle(SOLID_FILL, color); back = getpixel(xf,yf); if (back == color) return; xr = xf; xl = xf; l = 1; while(l != 0) { if((getpixel(xl - 1, yf) != back)) l = 0; else l = 1; xl--; } xl++; l = 1; while(l!=0) { if ((getpixel(xr + 1, yf) != back)) l = 0; else l = 1; xr++; } xr--; bar(xl, yf, xr, yf); for(x = xl; x <= xr; x++) if ((getpixel(x, yf - 1) == back)) fill(x, yf - 1, color); for(x = xl; x <= xr; x++) if ((getpixel(x, yf + 1) == back)) fill(x, yf + 1, color); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д