Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
News & Announcements
  • Top posters
 Mr.Pakapun (256)
 ddtan90 (178)
 tvduong (147)
 dthnam90 (137)
 minhquankq (101)
 arianbo (70)
 DoanhNhan (54)
 chicken (53)
 stormit (52)
 gentle_storm (47)

Share | 
 

 HELP TÔ MÀU ĐƯỜNG TRÒN

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
huynhtu2030
Thành viên mới
Thành viên mới
avatar

Tổng số bài gửi : 7
Join date : 27/09/2011

Bài gửiTiêu đề: HELP TÔ MÀU ĐƯỜNG TRÒN   Tue Mar 13, 2012 10:59 pm

Mình đang làm bài tập này: Viết chương trình (ngôn ngữ C++) nhập vào tọa độ tâm và bán kính của 2 đường tròn. tô màu phần cắt nhau và không cắt nhau của 2 đường tròn nói trên(3 màu khác nhau ). BẠn nào có ý tưởng thì giúp mình với.Thanks!! bounce bounce
Về Đầu Trang Go down
Xem lý lịch thành viên
ttngoan513
Thành viên mới
Thành viên mới
avatar

Tổng số bài gửi : 6
Join date : 13/08/2011

Bài gửiTiêu đề: Code day ban!!!   Sat Mar 24, 2012 1:11 am

#include
#include
#include
#include

void ktdh()
{
initwindow(640, 480, "To phan giao hai duong tron");
}

void dx(int xc, int yc, int x, int y)
{
putpixel(xc+x, yc+y, 1);
putpixel(xc-x, yc+y, 2);
putpixel(xc+x, yc-y, 3);
putpixel(xc-x, yc-y, 4);
putpixel(xc+y, yc+x, 5);
putpixel(xc-y, yc+x, 6);
putpixel(xc+y, yc-x, 7);
putpixel(xc-y, yc-x, Cool;
//delay(10);
}

void DTron(int xc, int yc, int r)
{
int x, y, p;
p=3-2*r;
x=0; y=r;
while (x {
dx(xc, yc, x, y);
if (p<0)
p+=4*x+6;
else
{
p+=4*(x-y)+10;
y--;
}
x++;
}

}
void hcn(int xmin=200,int ymin=200,int xmax=300,int ymax=300)
{
setcolor(11);
rectangle(xmin,ymin,xmax,ymax);
}

int Cat(int x1, int y1, int r1, int xmin, int ymin , int xmax,int ymax)
{
int kq=1;
float d;
int xtam=(xmin+xmax)/2;
int ytam=(ymin+ymax)/2;
d=sqrt((xtam-x1)*(xtam-x1)+(ytam-y1)*(ytam-y1));
float z;
z=sqrt((xtam-xmin)*(xtam-xmin)+(ytam-ymin)*(ytam-ymin));//kc tam
float c;
c=(sqrt((xmax-xmin)*(xmax-xmin))*sqrt(2))/2;//kc canh
if (d>(r1+c))
{
kq=0;
outtextxy(340, 440, "ROI NHAU");
}
else if (d==(r1+z) || d==abs(r1-(int)c))
{
kq=0;
outtextxy(340, 440, "TIEP XUC");
}
else if (d<(r1+z)) outtextxy(340, 440, "CAT NHAU");
return kq;
}

int ThuocDtron(int x, int y, int xc, int yc, int r)
{
int kq=0;
float d;
d=sqrt((xc-x)*(xc-x)+(yc-y)*(yc-y));
if (d return kq;
}
int Thuochcn(int x,int y,int xmin,int ymin,int xmax,int ymax)
{
int kq=0;
int xtam=(xmin+xmax)/2;
int ytam=(ymin+ymax)/2;
float d;
d=sqrt((xtam-x)*(xtam-x)+(ytam-y)*(ytam+y));//kc x
float z;
z=sqrt((xtam-xmin)*(xtam-xmin)+(ytam-ymin)*(ytam-ymin));//kc tam
float c;
c=(sqrt((xmax-xmin)*(xmax-xmin))*sqrt(2))/2;//kc canh
if(d return kq;
}

void ToPhanGiao(int x1, int y1, int r1,int xmin,int ymin,int xmax,int ymax)
{
for (int i=x1-r1; i<=x1+r1; i++)
{
for (int j=y1-r1; j<=y1+r1; j++)
{
if (ThuocDtron(i, j, x1, y1, r1) && Thuochcn(i, j, xmin,ymin,xmax,ymax)) putpixel(i, j, 4);
}
delay(10);
}
}



main()
{
int x1, y1, r1;
int xmin,ymin, xmax, ymax;
printf("Nhap toa do tam C1(xc, yc): ");
scanf("%d%d", &x1, &y1);
printf("Nhap ban kinh r1: ");
scanf("%d", &r1);
ktdh();
setbkcolor(15);
settextstyle(1, 0, 4);
setcolor(4);
cleardevice();
//outtextxy(100, 50, "VE 2 DUONG TRON TO PHAN GIAO");
DTron(x1, y1, r1);
rectangle(200,200,300,300);
if (Cat(x1, y1, r1, xmin,ymin,xmax,ymax)) ToPhanGiao(x1, y1, r1, xmin,ymin,xmax,ymax);
getch();
closegraph();
}
Về Đầu Trang Go down
Xem lý lịch thành viên
huynhtu2030
Thành viên mới
Thành viên mới
avatar

Tổng số bài gửi : 7
Join date : 27/09/2011

Bài gửiTiêu đề: Re: HELP TÔ MÀU ĐƯỜNG TRÒN   Tue Mar 27, 2012 5:13 pm

Cảm ơn bạn nhiều!! Tình hình là mình đã làm xong rồi, code của mình rất dài. Hôm nay vào diễn đàn thấy code của bạn ngắn ngọn hơn nhiều affraid affraid . Mình đang tìm hiểu. Đây là code của mình bạn nào cần tham khảo thì down về: [You must be registered and logged in to see this link.] Thank diễn đàn! Very Happy Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: HELP TÔ MÀU ĐƯỜNG TRÒN   

Về Đầu Trang Go down
 
HELP TÔ MÀU ĐƯỜNG TRÒN
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Câu lạc bộ Hỗ Trợ Học Tập :: LẬP TRÌNH :: .::LẬP TRÌNH C/C++-
Chuyển đến