30/09/2018, 19:49

các bác cho e hỏi câu này ạ

đề bài là trộn 2 mảng rồi sắp xếp tăng dần a
code : https://ideone.com/ud0ije
lỗi:

Đinh Quốc Hân viết 21:50 ngày 30/09/2018
  • Tạo 1 mãng và nạp từng dữ liệu của mãng 1, 2
    • Đếm tổng độ dài 2 mãng và cho chạy với biến i là địa chỉ mãng và tới cuối mãng 1 thì quay về 0 làm vậy tiếp với mãng 2.
  • Dùng Quicksort hay bất kỳ thuật toán này sắp xếp và sắp nó lại
Nguyễn Thành Tín viết 22:04 ngày 30/09/2018

em chưa học tới mấy cái đó a, e chỉ mới tập tành con trỏ thôi a, nó thông báo lỗi bộ nhớ nhưng e không biết csach sửa thế nào hết

Gió viết 22:05 ngày 30/09/2018

Bạn bị lỗi bộ nhớ chỗ realloc. Hàm này có dạng
*void * realloc(void ptr,size_t size);
Vì realloc của bạn biến a nằm trong tham số khi thay đổi kích thước thì có thể a bị free trong hàm đó nên bị lỗi. Muốn thay đổi con trỏ a sang kích thước mới câu lệnh đúng là:
*a = (int ) realloc(a,(m+n) * sizeof(int));

Nguyễn Thành Tín viết 21:51 ngày 30/09/2018

bạn có thể nói rõ phần bị free trong hàm là sao không bn ??

Bài liên quan
0