تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 30 تیر 1402 |
سطح تمرین | سخت |
در این پست قصد داریم نمونه سوال سی پلاس پلاس با جواب را بررسی و پیاده سازی نماییم.
روال بدین صورت میباشد که ابتدا سوال را مطرح میکنیم و سپس جواب را با ذکر دلیل و توضیحات قرار میدهیم.
در صورتی که مقدار متغییر a برابر -2 باشد پس از اجرای a+= !a + !a مقدار عبارت a کدام است؟
برای پاسخ به این سوال ابتدا باید نحوه عملکرد ! را متوجه شویم.
بیایید با یک مثال ساده این عملگر را بررسی کنیم.
مثال زیر را در نظر بگیرید:
int a= 0 ; a = !a ; cout<<a;
جواب این مثال عدد 1 میشود اما چرا؟
چون عملگر ! عمل نقض را انجام میدهد یعنی اگر ورودی 0 باشد آن را 1 میکند و همچنین برعکس.
پس چون مقدار اولیه a صفر بود در خروجی 1 که برعکس آن میباشد چاپ شد.
حالا برگردیم به نمونه سوال سی پلاس پلاس مطرح شده که مقدار اولیه a مقدار -2 میباشد.
پس جواب هر a! صفر میشود و دو تا صفر وقتی باهم جمع میشود خروجی 0 است.
و در نهایت وقتی =+a داریم یعنی مقدار اولیه خود a را هم باید لحاظ کنیم.
در نتیجه جواب نهایی ما -2 میشود و گزینه a نزدیک جواب به خروجی بدست آمده میباشد.
سوال: عملگر ** را بین یک رشته و کاراکتر به نحوی تعریف کنید که تعداد کاراکتر های درون رشته را برگرداند.
(راهنمایی:برای این عملگر از سربارگذاری استفاده نمایید)
برای حل این نمونه سوال سی پلاس پلاس باید عملگر * را طوری سربارگذاری کنیم که یک طرف رشته و یک طرف کاراکتر را پشتیبانی کند.
پس کلاس test را به صورت زیر تعریف میکنیم:
آموزش و انجام پروژه های برنامه نویسی
وفایی مقدم
0936-328-6141
سپس برای استفاده از این کلاس و پیاده سازی یک نمونه مثال کد زیر را در بخش main مینویسیم:
int main() { test test1; test1.a = "mohammad"; test test2; test2.b = 'a'; std::cout << test1*test2; return 0; }
در این کد یک کاراکتر و یک string تعریف میشوند.
سپس آن کاراکتر در string جستجو میشود و در نهایت تعداد تکرار آن چاپ میشود.
برای مثال بالا تعداد کاراکتر a در “mohammad” دو میباشد پس خروجی 2 چاپ میشود.
سوال:برنامه ای بنویسید که پنج عدد دو رقمی از ورودی دریافت کند و معکوس آن ها را در یک فایل خروجی به اسم num چاپ کند.
( از محاسبه باقیمانده و خارج قسمت میتوانید استفاده کنید)
برای حل نمونه سوال سی پلاس پلاس سوم باید ابتدا تابعی برای محاسبه مقلوب عدد بنویسیم.
پس تابع مقلوب عدد در سی پلاس پلاس را به صورت زیر مینویسیم:
int rev(int n){ int reverse = 0 ; int rem = 0 ; while(n!=0) { rem=n%10; reverse=reverse*10+rem; n/=10; } return reverse; }
در این تابع با استفاده از روش باقیمانده و خارج قسمت مقلوب عدد را بدست می آوریم.
حال که مقلوب عدد را بدست آوردیم کد زیر را برای دریافت پنج عدد و محاسبه مقلوب و ذخیره در فایل مینویسیم:
سوال: برنامه ای بنویسید که یک آرایه از ورودی دریافت کند و مشخص کند که صعودی است یا خیر؟
در این نمونه سوال سی پلاس پلاس ابتدا باید تابعی تعریف کنیم که مشخص کند آرایه مرتب است یا خیر.
برای تسریع در انجام این کار از تابع بازگشتی استفاده میکنیم.
کد زیر برای تشخیص صعودی بودن آرایه میباشد:
همانطور که در کد بالا مشاهده میکنید تابع arraySortOrNot تعریف شده است.
در این آرایه ابتدا بررسی میکنیم که تعداد عناصر آرایه 0 و یا 1 میباشد یا خیر.
سپس خانه های آرایه را باهم مقایسه میکنیم که از هم بزرگتر یا کوچکتر هستند.
در صورت که یک خانه پیدا کردیم که بزرگتر از آن یکی بود مقدار 0 را return میکنیم.
در بخش main برنامه کد زیر را برای استفاده از این تابع مینویسیم:
int main() { int arr[] = { 20, 19, 23, 45, 78, 88 }; int n = sizeof(arr) / sizeof(arr[0]); if (arraySortedOrNot(arr, n)) cout << "Yes\n"; else cout << "No\n"; return 0; }
نکته: تمامی سورس کد ها پس از ثبت نام و یا ورود به حساب کاربری برای دانلود در دسترس میباشند.
کلام آخر
در این مقاله به حل 4 نمونه سوال سی پلاس پلاس با جواب پرداختیم که هر کدام به اندازه خودشان نکته و کاربردی بودند.
شما میتوانید با فراگیری این نمونه سوال که در بخش تمرین سی پلاس پلاس وب سایت الو تمرین موجود است کلی نکته خوب یاد بگیرید.
همچنین اگر این ترم درس برنامه نویسی پیشرفته داریم بد نیست پست نمونه سوال درس برنامه نویسی پیشرفته را نیز مشاهده نمایید.
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.