Path: blob/main/5. a) Pattern - Diamond in Rectangle.cpp
724 views
/*15. A) Write a C++ program for drawing a2following pattern(diamond in rectangle)3*/4CODE:5#include<iostream.h>6#include<conio.h>7#include<graphics.h>8#include<math.h>9int sign(int x)10{11if(x<0)12return -1;13else if(x>0)14return 1;15else16return 0;17}18void bline(int x1,int y1,int x2,int y2,int col)19{20int dx,dy,e,x,y,i=1;21dx=x2-x1;22dy=y2-y1;23x=x1;24y=y1;25e=2*dy-dx;26while(i<=dx)27{28while(e>=0)29{30y++;31e=e-2*dx;32}33x++;3435e=e+2*dy;36putpixel(x,y,col);37i++;38}39}40void ddaline(int x1,int y1,int x2,int y2,int41col)42{43int x,y,len,i;44float dx,dy;45if(x1==x2 && y1==y2)46putpixel(x1,y1,col);47else48{49dx=x2-x1;50dy=y2-y1;51if(dx>dy)52len=dx;53else54len=dy;55dx=(x2-x1)/len;56dy=(y2-y1)/len;57x=x1+0.5*sign(dx);58y=y1+0.5*sign(dy);59i=1;60while(i<len)61{62putpixel(x,y,col);63x=x+dx;64y=y+dy;65i++;66}67}68}69int main()70{7172int ch,col,x1,x2,y1,y2;73int gd=DETECT,gm;74initgraph(&gd,&gm,"c:\\turboc3\\bgi");75setbkcolor(WHITE);76ddaline(50,50,50,200,2); //left vert77ddaline(50,50,350,50,4); //up horizontal78ddaline(350,50,350,200,6); //right vert79ddaline(50,200,350,200,7); //down horizontal80ddaline(200,50,50,125,9); //diamond up left81bline(50,125,200,200,12); //diamond left,down82ddaline(350,125,200,200,14);//diamond down,right83bline(200,50,350,125,3); //diamond right,up84ddaline(275,87,275,163,4);//in right85ddaline(125,87,275,87,5);//in up86ddaline(125,87,125,163,6);//in left87ddaline(125,163,275,163,2);//in down88getch();89closegraph();90return 0;91}929394