PDA

View Full Version : سوال: راهنمایی در مورد ترسیم nضلعی



pedram mehrabani
جمعه 05 خرداد 1391, 16:37 عصر
سلام به همه ی دوستان !
تونستم یه برنامه ای بنویسم که تعداد اضلاع از کاربر می گیره بعد با موس راس ها رو می زاره بعد شکل رو براش می کشه اما نمی تونم کاری کنم که وسط های ضلع ها رو هر چند باری که دوست داشت بکشه و به هم وصل کنه .
از دوستان هرکی می دونه لطفا کمکم کنه:لبخند:
با تشکر فراوان!!

robotic
جمعه 05 خرداد 1391, 20:04 عصر
لطفا کد برنامه را قرار دهید

pedram mehrabani
جمعه 05 خرداد 1391, 20:34 عصر
لطفا کد برنامه را قرار دهید

تشکر از لطف شما:لبخند:
#include <conio.h>
#include <iostream>
#include <graphics.h>
using namespace std;
int main()
{
int n,i,t=0;
cout<<"Enter n :";
cin>>n;
int x[n],y[n],m[100],m2[100],k;
initwindow(800,800);
for(i=0;i<n;i++){
while(t==i){
if(ismouseclick(WM_LBUTTONDOWN)){
t++;
x[i]=mousex();
y[i]=mousey();
putpixel(x[i],y[i],15);
clearmouseclick(WM_LBUTTONDOWN);
}
}
}
for(i=0;i<n-1;i++) line(x[i],y[i],x[i+1],y[i+1]);
line(x[i],y[i],x[0],y[0]);
for(k=0;k<n;k++){
m[k]=(x[k]+x[k+1])/2;
m2[k]=(y[k]+y[k+1])/2;}
m[n-1]=(x[0]+x[n-1])/2;
m2[n-1]=(y[0]+y[n-1])/2;
for(k=0;k<n;k++){
line(m[k],m2[k],m[k+1],m2[k+1]);
}
line(m[0],m2[0],m[k],m2[k]);
getch();
return 0;
}