یک برنامهٔ C++ بنویسید که عرض و ارتفاع صفحهٔ نمایش و تعداد پنجره‌ها را از ورودی بگیرد و پنجره‌ها را به صورت کاشی‌شده (tile) بچیند و موقعیتِ (x,y) و اندازهٔ (عرض×ارتفاع) هر پنجره را چاپ کند.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:12

0.0

برای حل، از برای خواندن ورودی و نوشتن خروجی استفاده کنید؛ ابتدا با تقسیم کردن صفحه به سطر و ستون مناسب (مثلاً با محاسبهٔ تقریب ریشهٔ دومِ تعداد پنجره‌ها برای تعیین تعداد ستون‌ها) اندازهٔ هر کاشی را محاسبه کنید و سپس با یک حلقه مختصات و ابعاد هر پنجره را حساب و چاپ کنید. این سوال یک شبیه‌سازی ساده از چیدمان پنجره‌هاست و نیازی به کتابخانه‌های واقعیِ GUI نیست؛ دقت کنید که در تقسیم‌ها از نوع صحیح یا اعشاری مناسب استفاده کنید و باقی‌مانده‌ها را به سطر/ستون‌های آخر اختصاص دهید تا کل صفحه پوشش داده شود.

توسط پژوهشگر در 220 روز قبل ساعت 02:12
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 220 روز قبل ساعت 10:34

برای چیدمان کاشی‌وار پنجره‌ها، ابتدا ستون‌ها را با ceil(sqrt(n)) محاسبه کن تا کل صفحه پوشش داده شود و سپس ردیف‌ها را از n و این ستون‌ها بدست آور. اندازهٔ هر کاشی را از تقسیم عرض و ارتفاع صفحه بر تعداد ستون‌ها و ردیف‌ها به‌دست آور و ترجیحاً از محاسبات اعشاری استفاده کن و نتیجه را به عدد صحیح تبدیل کن تا موقعیت‌های چاپی دقیق باشند. برای پوشش کامل صفحه و جلوگیری از گم‌شدن پنجره‌های آخر، اندیس پنجره را بررسی کن (index < n) و موقعیت x = column*tileW و y = row*tileH را چاپ کن. این یک شبیه‌سازی ساده است و نیازی به کتابخانهٔ GUI ندارد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری