امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
دوستان کمک کنید 3روز بیشتر مهلت ندارم
نویسنده پیام
math2009 آفلاین
تازه وارد

ارسال‌ها: 11
موضوع‌ها: 6
تاریخ عضویت: آبان ۱۳۸۸

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #1
دوستان کمک کنید 3روز بیشتر مهلت ندارم
الگوریتم مرتب سازی ادغامی را به زبان ++c میخاستم خاهش میکنم کمکم کنید 3 روز بیشتر مهلت ندارم باید پروژه تحویل بدم
ممنون میشم کمکم کنید.
۱۳-دى-۱۳۸۸, ۱۵:۲۲:۲۶
ارسال‌ها
پاسخ
اشک آفلاین
كاربر دو ستاره
**

ارسال‌ها: 108
موضوع‌ها: 14
تاریخ عضویت: آبان ۱۳۸۸

تشکرها : 758
( 532 تشکر در 136 ارسال )
ارسال: #2
RE: دوستان کمک کنید 3روز بیشتر مهلت ندارم
سلام.درمورد مرتب سازی ادغامی توضیح بدید کمی.دقیقا بگید چطور مرتب می کنه.

زمانی که به پایان رسیدی بدان شروعی دوباره در کام تولد است.Wink
۱۳-دى-۱۳۸۸, ۲۳:۲۰:۵۵
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #3
RE: دوستان کمک کنید 3روز بیشتر مهلت ندارم
مشکلتون چیه؟ شبه کدش که توی نت زیاده و مطمئنا توی کتابتون هم هست فقط باید تبدیلش کنید.
حال تبدیل هم ندارید کد آمادش هم هست . این یه نمونش که من از اینجا برداشتم:
کد:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int S[]={27,10,12,20,25,13,15,22},Counter=0;
void mergsort2(int,int);
void merg2(int,int,int);
void main(void) {
            int i;
            clrscr();
            printf("MergeSort Algoritm\n");
            for(i=0,printf("Befor sort: ");i<8;printf("%3d",S[i]),i++);
            mergsort2(0,7);
            for(i=0,printf("\nAfter sort: ");i<8;printf("%3d",S[i]),i++);
            printf("\nThe repetition of main operation is: %d",Counter);
            getch();
}
void mergsort2(int low,int high){
            int mid;
            if (low<high){
                        mid=(low+high)/2;
                        mergsort2(low,mid);
                        mergsort2(mid+1,high);
                        merg2(low,mid,high);
            }
}
void merg2(int low,int mid,int high){
            int i,j,k,index,*U;
            U=(int *) malloc(sizeof(int) * (high-low+1));
            i=low; j=mid+1; k=low;
            while(i<=mid && j<=high){
                        Counter++;
                        if(S[i]<S[j]){
                                    U[k]=S[i];
                                    i++;
                        } else {
                                    U[k]=S[j];
                                    j++;
                        }
                        k++;
            }//end of while
            if(i>mid)
                        for(index=j;index<=high;U[k]=S[index],k++,index++);
            else
                        for(index=i;index<=mid;U[k]=S[index],k++,index++);
            for(index=low;index<=high;S[index]=U[index],index++);
}
توضیحش هم توی ویکی پدیا هست.

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۴-دى-۱۳۸۸, ۲۰:۳۵:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Scorpion, t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دوستان کمک کنید لطفا الگوریتم سودوکو می خوام new_boys333 18 25,073 ۲۸-مهر-۱۳۹۰, ۱۲:۵۲:۰۵
آخرین ارسال: reza_m_n_65
Rolleyes لطفاراهنمایی کنید --> الگوریتم sport ramezanpour 0 2,153 ۱۵-تير-۱۳۸۹, ۱۱:۳۲:۳۳
آخرین ارسال: ramezanpour
  اگه مردید اینو حل کنید. misaq 4 3,416 ۲۱-مهر-۱۳۸۶, ۲۲:۵۹:۵۵
آخرین ارسال: misaq
  بابا کمک کنید naser_enayat 1 2,415 ۱۵-فروردین-۱۳۸۶, ۰۱:۴۵:۰۷
آخرین ارسال: msnasiri

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS