Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: Code Tìm Kiếm & Sắp Xếp (QuickSort, SelectionSort,...) phát sinh lỗi khi ghép các file source?

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    10

    Mặc định Code Tìm Kiếm & Sắp Xếp (QuickSort, SelectionSort,...) phát sinh lỗi khi ghép các file source?

    Xin chào anh em !

    Số là mình vừa đánh xong code cho một số hàm là
    BubbleSort
    InsertionSort
    InterchangeSort
    SelectionSort
    QuickSort

    Lúc chạy một file QuickSort khi nhập vào số phần tử mãng 5 hay 10 thì sắp xếp Tăng hay Giảm đều chạy rất ok

    Nhưng khi gom nó vào chung với file TongHop thì bắt đầu phát sinh lỗi , các lỗi như sau :
    - Lỗi không nhận phần tử quá 10
    - Lỗi thứ hai là không thể sắp xếp Tăng được mà trong khi đó Giảm vẫn chạy ok

    Mình vẫn chưa biết đường khắc phục ra sao nữa , mong mọi người có thể cho mình ý kiến với
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    vì bạn viết các hàm sắp xếp ở trên thì mảng đó đã được sắp xếp hết rồi, nên truyền vào quick sort thì bị stack overload thôi.trường hợp tệ nhất.
    nên đặt thêm đk thoát if(left>=right)
    HT117-5277

  3. #3
    Ngày gia nhập
    10 2011
    Bài viết
    10

    Trích dẫn Nguyên bản được gửi bởi treatmaster Xem bài viết
    vì bạn viết các hàm sắp xếp ở trên thì mảng đó đã được sắp xếp hết rồi, nên truyền vào quick sort thì bị stack overload thôi.trường hợp tệ nhất.
    nên đặt thêm đk thoát if(left>=right)
    cái quan trọng là nên thêm nó ở đoạn nào nhỉ ?

    với lại khi sắp xếp thì nếu bị lỗi trên thì sao Giảm nó lại chạy bình thường , trong khi Tăng lại bị lỗi

  4. #4
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    mình xin lỗi, debug hôm qa ra stack overload là do code của ban.còn cái sửa ở trên của mình ko có nghĩa j cả.
    if(left<i) QuickSort_Tang(a,left,j); // code trong hàm quicksort tăng.
    rùi hàm quicksort truyền vào phải là quicksort(a,0,n-1) bạn truyền vào là quicksort(a,1,n) mà a[n] thì lại là rác.phát sinh lỗi ở chỗ này thôi.
    HT117-5277

  5. #5
    Ngày gia nhập
    10 2011
    Bài viết
    10

    Trích dẫn Nguyên bản được gửi bởi treatmaster Xem bài viết
    mình xin lỗi, debug hôm qa ra stack overload là do code của ban.còn cái sửa ở trên của mình ko có nghĩa j cả.
    if(left<i) QuickSort_Tang(a,left,j); // code trong hàm quicksort tăng.
    rùi hàm quicksort truyền vào phải là quicksort(a,0,n-1) bạn truyền vào là quicksort(a,1,n) mà a[n] thì lại là rác.phát sinh lỗi ở chỗ này thôi.
    đúng thiệt là Tâm Gà

    nếu là file chạy solo thì để QuickSort(a,1,n) thì vẫn chạy tốt

    nhưng khi đã đem vào file tổng thì nên sữa lại giống của bạn

    cám ơn bạn nhiều nhe , thế mà không suy nghĩ ra vấn đề

    Giờ đang gặp khó khăn khi viết tiếp hàm cho Danh Sách Liên Kết đây , chắc phải nghiên cứu tiếp thôi

  6. #6
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Mặc định Code Tìm Kiếm & Sắp Xếp (QuickSort, SelectionSort,...) phát sinh lỗi khi ghép các file source?

    hehe no star where
    giúp người là giúp mình mà.
    HT117-5277

  7. #7
    Ngày gia nhập
    10 2011
    Bài viết
    10

    ủa bạn , cho mình hỏi tí , với hàm shellsort này , nó báo là lỗi do mình khai báo quá nhiều phần tử đúng ko nhỉ ?

    lỗi ở đoạn void ShellSort_Tang(int a[],int n, int h[], int k)
    Attached Files Attached Files

  8. #8
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    error C2660: 'ShellSort_Tang' : function does not take 2 arguments
    hàm shellsort bạn viết có tới 4 tham số đầu vào.
    HT117-5277

  9. #9
    Ngày gia nhập
    10 2011
    Bài viết
    10

    thank bạn , thế mình phải sữa cái đoạn này ra sao bây giờ bạn

  10. #10
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Lần sau đề nghị bạn post code lên vì file nhỏ thì ko nên đính kèm làm gì. Nên hạn chế đính kèm nếu như không cần thiết

    // TamGa Phone : 01283.98.69.98
    // www.tamga.tk www.tamga85.multiply.com
    // Su dung Shell Sort
    #include <stdio.h>
    #include <conio.h>
    void NhapMang(int a[],int &n)
    {
    printf(" Nhap so phan tu : ");scanf("%d",&n);
    for (int i=0;i<n;i++)
    {
    printf(" Phan tu thu %d: ",i);scanf("%d",&a[i]);
    }
    }
    void XuatMang(int a[], int n)
    {
    for (int i=0;i<n;i++) printf(" %d",a[i]);
    }

    void ShellSort_Tang(int a[],int n, int h[], int k)
    {
    int step,i,j,x,len;
    for(step=0; step<k;step++)
    {
    len=h[step];
    for(i=len;i<n;i++)
    {
    x=a[i];
    j=i-len;
    while((x<a[j])&&(j>=0))
    {
    a[j+len]=a[j];
    j=j-len;
    }
    a[j+len]=x;
    }
    }
    }

    int main()
    {int a[100],n;

    NhapMang(a,n); printf(" Mang vua nhap la: ");
    XuatMang(a,n);
    //=========================
    printf("\n ================ Shell Sort www.tamga.tk");
    printf("\n Tang :");
    //ShellSort_Tang(a,n);
    XuatMang(a,n);
    getch();
    return 0;
    }
    void ShellSort_Tang(int a[],int n, int h[], int k)
    {
    int step,i,j,x,len;
    for(step=0; step<k;step++)
    {
    len=h[step];
    for(i=len;i<n;i++)
    {
    x=a[i];
    j=i-len;
    while((x<a[j])&&(j>=0))
    {
    a[j+len]=a[j];
    j=j-len;
    }
    a[j+len]=x;
    }
    }
    }
    //ShellSort_Tang(a,n);
    Mình trích dẫn 2 cái dưới bạn xem thử xem. Đây có phải lỗi trình biên dịch đưa ra cho bạn không ?
    Bạn nhìn vào có thây sự khác nhau của nó ko Xây dưng một đằng nhưng đi sử dụng một nẻo

Các đề tài tương tự

  1. Source code Quản lý học sinh bằng C#
    Gửi bởi thepbac trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 25
    Bài viết cuối: 16-07-2015, 09:21 PM
  2. Algorithm Hướng dẫn code regex tìm kiếm trên source web
    Gửi bởi jerryno6 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-06-2011, 02:25 PM
  3. Lập trình C chạy file bash từ source code c
    Gửi bởi hieubkit trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 8
    Bài viết cuối: 03-12-2010, 06:22 PM
  4. Tìm kiếm trên file! Tìm kiếm xâu mẫu dùng giải thuật Naive | Giúp mình code sai ở đâu
    Gửi bởi totoise trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 19-04-2009, 08:22 PM
  5. Quản lý source code C++ | Chia nhỏ các file .cpp, sử dụng file header
    Gửi bởi thongcam87 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 16-11-2008, 05:50 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn