Sắp xếp chọn tăng dần bị runtime error

mọi người giúp em với, em làm bài tập trên spoj chạy vẫn ra kết quả đúng nhưng gặp phải lỗi runtime lỗi SIGABRT ạ

#include <stdio.h>
#include <stdlib.h>
#define MAX 20
void read_array(int a[], int n)
{
    int i;
    for(i=0; i<n; i++){
        scanf("%d",&a[i]);
    }
}
void print_array(int a[], int n)
{
    int i;
    for(i=0; i<n; i++){
        printf("%4d",a[i]);
    }
    printf("\n");
}
void swap_array(int a[], int i, int j, int n)
{
    int temp;
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
}
void select_sort(int a[], int n)
{
    int t=0;
    printf("%4d: ",t);
    print_array(a,n);
    for(int i=0; i<n-1; i++)
    {
        int j;
        int min=i;
        for(j=i+1; j<n; j++){
            if(a[j]<a[min]){
                min=j;
            }
        }
        if(min!=i){
            swap_array(a,i,min,n);
            t++;
            printf("%4d: ",t);
            print_array(a,n);
        }
    }
}
int main()
{
    #ifndef ONLINE_JUDGE
    freopen("C:\\input.txt","r", stdin);
    #endif // ONLINE_JUDGE
    int a[MAX];
    int n;
    scanf("%d",&n);
    read_array(a,n);
    select_sort(a,n);
    return 0;
}

Hi cậu,

Cậu có thể cho bọn tớ biết các thông tin sau được không?

  1. Lỗi runtime cậu gặp phải là gì vậy?
  2. Làm thế nào để tái hiện lại lỗi của cậu?

Cậu nên cung cấp các thông tin như vậy mỗi khi cậu cần ai giúp đỡ debug.
Btw, code của cậu tốt hơn rất nhiều người hỏi trên này. Keep it up!

4 Likes

Thank you, để mk bổ sung thêm :blush::blush::blush:

Hi Tuyết mèo,

Tớ có thấy cậu đã update thông tin, tuy nhiên tớ recommend cậu nên cho bọn tớ thêm thông tin này:

Cậu có thể cung cấp thông tin đó theo format này được không?

  • Input: đầu vào tạo ra lỗi của cậu là gì?
  • Expected output: kỳ vọng của cậu là gì? (tớ nghĩ cậu có thể skip thông tin này nếu như nó rất dễ để suy luận, tuy nhiên, nếu cậu muốn tập theo format, cậu có thể thử).
  • Current output: Output hiện tại mà cậu đánh giá là lỗi - dạng text, screenshot, whatever… (cậu cũng có thể skip phần này, do cậu đã đề cập tới SIGABRT ở trên rồi).

Cậu có thể sử dụng format trên với các câu hỏi mới về lỗi trong tương lai, nó gọn và đủ thông tin cần thiết.

EDIT: Tớ có chạy code của cậu, và tớ không nhận được lỗi SIGABRT như cậu nói :slight_smile:

4 Likes

cảm ơn bạn, chắc do hệ thống SPOJ bị lỗi nên mình ko submit được ^^

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?