View Full Version : سوال: کشیدن شکل
Eng_hamed
پنج شنبه 17 آذر 1390, 23:34 عصر
مختصات یک شکل(مستطیل) را داریم،چگونه شکل این مستطیل را در محیط dos(همون صفحه سیاهه!!)بکشیم؟
ابتدا یک کادر 25 در25 که نشان دهنده ربع اول:متفکر::متفکر:
shahmohammadi
شنبه 19 آذر 1390, 17:54 عصر
سلام.
برای کشیدن یه مستطیل مختصات دو نقطه کافیه. (دو نقطه که به هم وصل نیستند.)
در ضمن نمی شه گفت ربع اول هست چون بر عکس مختصات واقعی اینجا وقتی از بالا به پایین می آیم y بیشتر می شه. و گوشه بالای چپ 0و0 هست.
برنامه رو به طور خلاصه این پایین می نویسم.
با توجه به اینکه تو این الگوریتم برای رسم فرض کردم که a نقطه بالا-چپ هست و b نقطه پایین-راست پس قبل از رسم شروطی رو نوشتم که اگه این موضوع برقرار نبود خودش مختصات رو عوض کنه.
#include <conio.h> //it consist gotoxy()
#...
struct point
{
int x;
int y;
};
void main()
{
point a,b;
int i,temp;
scanf(...);//get two points
//set 'a' the top-left point and 'b' the down-right point
if(a.x>b.x)
{
temp=a.x;
a.x=b.x;
b.x=temp;
}
if(a.y>b.y)
{
//change them
}
//draw the up line
gotoxy(a.x,a.y);
for(i=a.y;i<=b.y;i++)
scanf("*");
//draw righht and left lines
gotoxy(a.x,a.y+1);
for(int j=a.y+1;j<=b.y;j++)
{
scanf("*"); //left line
for(i=0;i<(b.x-a.x);i++)
scanf(' '); //inside
scanf("*\n"); //right line
}
//draw bottom line
//like up
}
موفق باشید.
Eng_hamed
دوشنبه 21 آذر 1390, 17:25 عصر
دستت درد نکنه!
این سوال ادامه یه سوال دیگه است
ابتدا 4 نقطه مختصات از کاربر گرفته (xوy کمتر از 20)سپس پس از بررسی اینکه نقطه ها در ربع اول است یک کادر 25*25 می کشیم بعد مستطیل رو داخلش رسم می کنیم
خودم این جوری نوشتم که کار کرد
cout<<"#########################\n";
for(g=0;g<2;g++)
{cout<<"# #\n";}
cout<<"# *";
for(g=0;g<l;g++)
{cout<<"-";}
cout<<"*";
ll=3+(l+1);
ll=24-ll;
for(g=0;g<ll;g++)
{cout<<" ";}
cout<<"#\n";
for(g=0;g<w;g++)
{ cout<<"# |";
for(gg=0;gg<l;gg++)
{cout<<" ";}
cout<<"|";
for(gg=0;gg<ll;gg++)
{cout<<" ";}
cout<<"#\n";
}
cout<<"# *";
for(g=0;g<l;g++)
{cout<<"-";}
cout<<"*";
for(g=0;g<ll;g++)
{cout<<" ";}
cout<<"#\n";
ww=20-(w+1);
for(g=0;g<ww;g++)
{cout<<"# #\n";}
cout<<"#########################\n";
getch();
بازم ممنون!:تشویق:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.