تور لحظه آخری
امروز : یکشنبه ، 15 مهر 1403    احادیث و روایات:  امام علی (ع):اى جوانان! آبرويتان را با ادب و دينتان را با دانش حفظ كنيد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها




آمار وبسایت

 تعداد کل بازدیدها : 1821191459




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

تابعی برای مرتب سازی صعودی و نزولی آرایه عددی -


واضح آرشیو وب فارسی:سایت ریسک: تابعی برای مرتب سازی صعودی و نزولی آرایه عددی mfahiminia 20 دي 1389, 09:34سلام اگر بخواهیم برنامه ای بنویسیم که ارایه ای از اعداد رو مرتب کنه و عملیات مرتب سازی به صورت نزولی و صعودی امکان پذیر باشه و برای نوشتن آن هم از اشاره گر به تابع استفاده کنیم. البته باید از مرتب سازی حبابی استفاده کنیم و...ولی می شه یه کمک درمورد این برنامه بکنید. خیلی ممنون:shock: the_king 20 دي 1389, 19:36در انتخاب عنوان تاپیک دقت کنید، عنوان تاپیک می بایستی مشخص کننده موضوع تاپیک باشد. عنوان تاپیک ویرایش گردید. سلام اگر بخواهیم برنامه ای بنویسیم که ارایه ای از اعداد رو مرتب کنه و عملیات مرتب سازی به صورت نزولی و صعودی امکان پذیر باشه و برای نوشتن آن هم از اشاره گر به تابع استفاده کنیم. البته باید از مرتب سازی حبابی استفاده کنیم و...ولی می شه یه کمک درمورد این برنامه بکنید. خیلی ممنون:shock: آرایه ای که قرار مرتب بشه در خارج از تابع مرتب سازی تعریف شده و صرفا آدرس شروع آرایه بصورت یک اشاره گر به تابع ارسال میشه (فراخوانی با ارجاع) و در نتیجه هر تغییری که درون تابع در جهت مرتب سازی آرایه انجام خواهد شد منجر به تغییر آرایه اصلی خواهد شد یعنی تابع نیاز به ارسال خروجی خاصی نخواهد داشت. در مثال زیر تابع ()sort سه پارامتر دارد : پارامتر اول آرایه ای است که قرار است مرتب شود. پارامتر دوم طول آرایه است، که در مثال ما 10 خانه است. پارامتر سوم نوع مرتب سازی (صعودی و نزولی) است که به ترتیب با مقادیر 0 و 1 مشخص می شود. دقت کنید که نوشتن کد داخل حلقه مرتب سازی به این شیوه طول کد را کوتاه می کند اما چندان اصولی نیست، چون مدام داخل حلقه های اشتراکی مقدار mode را با 0 و 1 مقایسه می کنیم و این عمل سرعت اجرا را برای آرایه های بزرگ کم می کند. اصولا بهتر است که برای هر mode متفاوت دو حلقه کاملا متفاوتی ایجاد کرد تا دیگر نیازی به چک کردن مقدار mode در داخل حلقه های مشترک نباشد. #include <conio.h> #include <iostream.h> void sort(int a[], int n, int mode) { int i, j, t; for (i = 0; i < n - 1; i++) for (j = i + 1; j < n; j++) if (((mode == 0) && (a[j] < a[i])) || ((mode == 1) && (a[j] > a[i]))) { t = a[j]; a[j] = a[i]; a[i] = t; } } int main() { int a[10] = {4, 1, 7, 6, 2, 9, 5, 3, 8, 0}; int i; cout << endl << "Array =" << endl; for (i = 0; i < 10; i++) cout << a[i] << " "; cout << endl << endl << "Ascending =" << endl; sort(a, 10, 0); for (i = 0; i < 10; i++) cout << a[i] << " "; cout << endl << endl << "Descending =" << endl; sort(a, 10, 1); for (i = 0; i < 10; i++) cout << a[i] << " "; getch(); return 0; } سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 5309]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن