You are not allowed to perform this action
سوال ۲
در برنامههای زیر شما باید کد بنویسید یا تحلیل کنید. کدی که مینویسید باید خلاصه و مختصر مفید باشد. اگر includeها بدیهی و مرسوم هستند، نیازی به نوشتن آنها نیست و فقط بخشهای لازم را بنویسید. اگر قرارست تحلیل کنید هم در حد یک پارگراف توضیح دهید. در هیچ برنامهای مجاز به استفاده از امکاناتی که در کلاس تدریس نشده، نیستید.
- تابعی بنویسید کهیک عدد
intرا بگیرد و جای مقدارهای بایتهای دوم و سوم (دو بایت وسط) آن را با هم عوض کند. در این تابع شما مجاز به استفاده از عملگرهای تقسیم یا باقیماندهیا ضرب یا شیفت بیتی نیستید. تابع شما چیزی بر نمیگرداند بلکه خود عدد را عوض میکند. حداکثر هم سه متغیر جدید میتوانید تعریف کنید. - برنامهای بنویسید کهیک عدد
int xبخواند و تعداد اعداد کوچکتر از $۲۳۰$ای مثلzکه در آنz == (z&x)هستند را چاپ کند. برنامه شما نباید از $(۲۳۰)O$ باشد. - حروف A و E و I و O و U حروف صدادار زبان انگلیسی هستند و ۲۱ حرف دیگر بیصدا هستند. یک خط دستور بنویسید که برای حرف بیصدای
char xدر متغیرint kذخیره کند کهxچندمین حرف بیصدا است؟ برای مثال B اولین کاراکتر بیصدا و Y بیستمین حرف بیصدا است. دستور شما نباید سمیکالن یا کامای اضافه داشته باشد و طول آن هم نباید خیلی (در حد دونه دونه شماردن! یا کپی پیست کردن یک تکه به ازای هر کدام از حرفهای صدادار) طولانی باشد. - مقدار
long long m = 1LL«32چیست؟ اگرLLرا ننویسیم این مقدار چند میشود؟ فرض کنید بعد از این خط ما (در حالت باLL) دستورlong long z = x & (m-(x+1));را نوشتهایم که در آنxیک متغیرlong longکوچکتر از $230$ است. در اینصورت مقدارzچهچیزی را در خود دارد؟ - برنامهای بنویسید کهیک عدد $n$ و سپس $n$ سه تایی مختصه (صحیح) بگیرد. این $n$ نقطه در فضای سه بعدی تعریف شده و میخواهیم خود نقاط را بر حسب فاصله از مبدأ مختصات بهصورت نزولی مرتب کرده و چاپ کنیم. شما حداکثر یک آرایه میتوانید بگیرید و مجاز به تعریف
structنیستید. برای مرتبسازی حتماً باید از تابعsortخود زبان استفاده کنید. - میگوییم کلمهی الف از کلمهی ب خوشگلتر است اگر تعداد
Aهای رشته الف بیشتر از رشته ب باشد. در صورت تساوی مقایسه بر روی تعدادBها انجام میشود و … الی رویZها. برای مثالPAAازDASTخوشگلتر است وAFTABازMAHTABخوشگلتر است. برنامهای بنویسید کهیک $n$ و سپس $n$ تا کلمه با حروف بزرگ بخواند و آن ها را به ترتیب خوشگلی مرتبکرده و سپس چاپ کند. شما مجاز به تعریف تابع یا آرایهیا بیشاز یک بار استفاده ازsortیا انجامsortبهصورت دستی (غیر ازsortخود C++) نیستید. - برنامهی کاملی بنویسید که دو عدد حداکثر ۱۰۰۰ رقمی را از ورودی بخواند و باقیماندهی تقسیم عدد اول بر عدد دوم را در خروجی چاپ کند. برای اینکار شما تنها مجاز به انجام عمل ضرب و روش باینریسرچ هستید.