Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Vài vấn đề về qsort c++

    mong mọi người góp ý phần compare bị báo lỗi khi qsort với số lớn
    Mã:
    #include<iostream>
    #include<cstdlib>
    
    using namespace std;
    
    int compare(const void *a, const void *b)
    {
        if (*a>*b)
            return 1;
        else
            return (*a<*b) ? -1:0;
    //    return (*(long*)b-*(long*)a);// lon den be
    }
    
    int main()
    {
    long n,i;
    unsigned long long a[1000];
    cin >> n;
    for(i=0;i<n;i++)
    cin >>a[i];
    qsort(a,n,sizeof(int64_t),compare);
    for(i=0;i<n;i++)
    cout << a[i];
    
    return 0;
    }

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    theo mình được biết phần compare hình như là ổn
    Mã:
    /* qsort example */
    #include <stdio.h>      /* printf */
    #include <stdlib.h>     /* qsort */
    
    int values[] = { 40, 10, 100, 90, 20, 25 };
    
    int compare (const void * a, const void * b)
    {
      return ( *(int*)a - *(int*)b );
    }
    
    int main ()
    {
      int n;
      qsort (values, 6, sizeof(int), compare);
      for (n=0; n<6; n++)
         printf ("%d ",values[n]);
      return 0;
    }
    http://www.cplusplus.com/reference/cstdlib/qsort/

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •