تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 02 فروردین 1403 |
سطح تمرین | متوسط |
در این پست قصد داریم سورس کد بررسی صعودی یا نزولی بودن عدد ورودی را بررسی و پیاده سازی نماییم.
سوال: برنامه ای بنویسید که عددی را دریافت و بررسی کند ترتیب چیدمان ارقام آن صعودی است یا نزولی؟
نمونه ورودی:
به صورت مثال فرض کنید عدد 123456 را به عنوان از کاربر دریافت کردیم اگر به ترتیب چیدمان ارقام دقت کنید به صورت صعودی میباشد پس خروجی صعودی میشود.
تمرین پیشنهادی: پاسخ 3 سوال از کوئرا در سی پلاس پلاس
برای بررسی صعودی یا نزولی بودن ارقام عدد ورودی باید ابتدا ارقام آن را تجزیه کنیم.
یعنی با کمک یک حلقه while یکی یکی ارقام را پیمایش کنیم.
سپس اگر آن رقم از یک عدد بزرگتر بود یعنی به صورت صعودی میرود در غیر این صورت نزولی.
پس ما با یک مقایسه یک رقم با رقمی به صورت مثال 10 میتوانیم نتیجه بگیریم که ترتیب اعداد به سمت پایین میرود یا به سمت بالا.
اگر به صورت مثال عدد ورودی 12343453321 بود این یعنی جواب ما عدد نامرتب هست و ترتیب خاصی بین اعداد از صعودی یا نزولی وجود ندارد.
تمرین پیشنهادی: مثال جزئ صحیح در سی پلاس پلاس
در ادامه به بررسی سورس کد بررسی صعودی یا نزولی بودن عدد میپردازیم.
#include <conio.h> #include <iostream> using namespace std; int main() { int n,d,td=0,ld=10,asc=0,desc=0,ll=0; cout<<"Enter any number "; cin>>n; while(n>0) { d=n%10; if(d<ld) { ld=d; asc=asc+1; // counting the digits present in the number in ascending order } if(d>ll) { ll=d; desc=desc+1; // counting the digits present in the number in ascending order } td=td+1; // counting the total number of digits n=n/10; } if(td==asc) { cout<<"All digits are in ascending order"; } else if (td == desc){ cout<<"All digits are in desceding order"; } else { cout<<"All digits are not in ascending order"; } return 0; }
همانطور که مشاهده میکنید ما متغییر d را داریم که همان رقم فعلی عدد میباشد.
بعد متغییر ld را داریم که با مقایسه با d میتوانیم متوجه شویم که ارقام رو به بالا میروند یا پایین.
سپس دو متغییر asc,desc را نسبت به اینها یکی یکی اضافه میکنیم که در نهایت با تعداد ارقام عدد مقایسه کنیم.
از بخش تمرین سی پلاس پلاس میتوانید مجموعه تمرین های رایگان و با جواب سی پلاس پلاس را مشاهده نمایید.
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.