نمایش نتایج 1 تا 3 از 3

نام تاپیک: راهنمایی در رابطه با mergesort

  1. #1

    Smile راهنمایی در رابطه با mergesort

    سلام
    دوستان در نظر دارم برنامه ای بنویسیم که پس از دریافت تعدادی آرایه از کاربر اونها را به صورت صعودی مرتب کنه و نمایش بده. سپس مجددا از کاربر داده جدید بگیره و اونها رو به لیست مرتب شده قبلی و در جای صحیح اضافه کند. این چیزی هست که تا بدین لحظه موفق به نوشتن اون شدم:


    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
    int a[10], i=0, j=0, n, t;

    printf ("\n tedade vorodee: ");
    scanf ("%d", &n);
    printf ("\n");

    for (i = 0; i
    {
    printf ("\n vorodi %d raa vared konid: ", (i+1));
    scanf ("%d", &a[i]);
    }

    for (j=0 ; j<(n-1) ; j++)
    {
    for (i=0 ; i<(n-1) ; i++)
    {
    if (a[i+1] < a[i])
    {
    t = a[i];
    a[i] = a[i + 1];
    a[i + 1] = t;
    }
    }
    }

    printf ("\n tartibeh soodi: ");
    for (i=0 ; i
    {
    printf (" %d", a[i]);
    }

    return 0;
    }


    اما از اینجا به بعدش رو نمی دونم که چه باید بکنم. خیلی لطف می کنید اگر بنده رو کمک کنید.

    چطور می تونم با استفاده از mergsort آرایه جدید رو به لیست مرتب شده قبلی اضافه کنم.

    ممنونم.

  2. #2

    نقل قول: راهنمایی در رابطه با mergesort

    نقل قول نوشته شده توسط alex4040 مشاهده تاپیک
    سلام
    پس از دریافت تعدادی آرایه از کاربر
    شما از کاربر یه آرایه دریافت می کنید یا چند تا ؟

    آیا منظورتون اینه که اول یک آرایه رو بگیریم ، اونو مرتب کنیم ، بعد آرایه دوم رو با آرایه اول بطور

    مرتب ادغام کنیم ؟






  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    اصفهان
    پست
    51

    نقل قول: راهنمایی در رابطه با mergesort

    سلام دوست عزیز من اینا اینچوری درستش کردم اگه جاییشا نفهمیدی بگو توضیج بدم
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    int main(void)
    { clrscr();
    int a[10],a2[10], i=0, j=0, n, t;

    //printf ("\n tedade vorodee: ");
    //scanf ("%d", &n);
    //printf ("\n");

    for (i = 0; i<=9;i++)
    {
    printf ("\n vorodi %d raa vared konid: ", (i+1));
    scanf ("%d", &a[i]);
    }

    for (i=0 ; i<=8 ; i++)
    {
    for (j=i+1 ; j<=9 ; j++)
    {
    if (a[i] > a[j])
    {
    t = a[i];
    a[i] = a[j];
    a[j] = t;
    }
    }
    }

    printf ("\n tartibeh soodi: ");
    for (i=0 ; i<=9;i++)
    {
    printf (" %d", a[i]);
    }
    getch();
    for (i = 0; i<=9;i++)
    {
    printf ("\n vorodi %d raa vared konid: ", (i+1));
    scanf ("%d", &a2[i]);
    }

    for (i=0 ; i<=8 ; i++)
    {
    for (j=i+1 ; j<=9 ; j++)
    {
    if (a2[i] > a2[j])
    {
    t = a2[i];
    a2[i] = a2[j];
    a2[j] = t;
    }
    }
    }

    printf ("\n tartibeh soodi: ");
    for (i=0 ; i<=9;i++)
    {
    printf (" %d", a2[i]);
    }
    getch();clrscr();
    int c[20],aa=0,bb=0;
    for(i=0;i<=19;i++){
    if ((a[aa]<=a2[bb])&&(aa<=9)){
    c[i]=a[aa];
    aa++;
    }else{
    if (bb<=9){
    c[i]=a2[bb];
    bb++;}
    }
    }
    printf("\n");
    for(i=0;i<=19;i++)
    printf("%5d",c[i]);

    getch();
    return 0;
    }

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •