یک برنامهٔ C++ بنویسید که عرض و ارتفاع صفحهٔ نمایش و تعداد پنجرهها را از ورودی بگیرد و پنجرهها را به صورت کاشیشده (tile) بچیند و موقعیتِ (x,y) و اندازهٔ (عرض×ارتفاع) هر پنجره را چاپ کند.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:12 0.0
برای حل، از برای خواندن ورودی و نوشتن خروجی استفاده کنید؛ ابتدا با تقسیم کردن صفحه به سطر و ستون مناسب (مثلاً با محاسبهٔ تقریب ریشهٔ دومِ تعداد پنجرهها برای تعیین تعداد ستونها) اندازهٔ هر کاشی را محاسبه کنید و سپس با یک حلقه مختصات و ابعاد هر پنجره را حساب و چاپ کنید. این سوال یک شبیهسازی ساده از چیدمان پنجرههاست و نیازی به کتابخانههای واقعیِ GUI نیست؛ دقت کنید که در تقسیمها از نوع صحیح یا اعشاری مناسب استفاده کنید و باقیماندهها را به سطر/ستونهای آخر اختصاص دهید تا کل صفحه پوشش داده شود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای چیدمان کاشیوار پنجرهها، ابتدا ستونها را با ceil(sqrt(n)) محاسبه کن تا کل صفحه پوشش داده شود و سپس ردیفها را از n و این ستونها بدست آور. اندازهٔ هر کاشی را از تقسیم عرض و ارتفاع صفحه بر تعداد ستونها و ردیفها بهدست آور و ترجیحاً از محاسبات اعشاری استفاده کن و نتیجه را به عدد صحیح تبدیل کن تا موقعیتهای چاپی دقیق باشند. برای پوشش کامل صفحه و جلوگیری از گمشدن پنجرههای آخر، اندیس پنجره را بررسی کن (index < n) و موقعیت x = column*tileW و y = row*tileH را چاپ کن. این یک شبیهسازی ساده است و نیازی به کتابخانهٔ GUI ندارد.
گزارش