Khi chiều e có thi thực hành lập trình:
e thấy có 1 vấn đề rất bức xúc với hàm memmove:
đề là xóa k vị trí trong mảng (con trỏ đã cấp phát) từ vị trí thứ i:
thì với em đọc tài liệu trang cplusplus là memmove(đích,nguồn,số byte di chuyển từ sau nguồn)
Vậy thì mảng ar[] có n phần tử thì e làm như sau:
memmove (ar+i, ar+i+k, (n-i-k)* sizeof (kiểu phần tử))
Vì đích là ar+i, nguồn là vi trí i + k, số phần tử còn lại chính là số phần tử kéo đi từ sau nguồn: n-i-k
rồi sau khi muốn xuất thì e cho i =0 chạy tới < n-k;
Ngay cả trước giờ em dùng codeblock 12.04 hay là visual 2012 pro thì nó hoạt động rất tốt nhưng không hiểu sao khi lên phòng máy xài thằng visual 2008
thì nó báo lỗi tràn ar rồi nó break;
sau đó e chạy vẫn thế nên dành xoay xở đại chứ đang thi mà ai dám bình tĩnh nghĩ mình đúng.nên em viet là:
memmove (ar+i,ar+i+k,k*sizeof(kieu pt));
ai ngờ nó trúng phóc.thử liền 3,4 lần thi thấy nó chạy đúng(thi thời gian nào mà thử nhiều)
cuối cùng e để vậy,nhưng về ktx nghĩ đi nghĩ lại thấy nó sai rõ ràng.
Ngay cả thằng bạn thi cùng e về kể nó tạo project đầu tiên nó chạy chẳng dc,mà thằng này không phải amatuer đâu biết gì nên nó khẳng định là nó tạo project đúng.nhưng kiểu gì nó cũng báo lỗi.nó cũng hơi hoản nhưng nó copy nguyên cái code paste vào notepad rồi sau nó tắt visual để chạy lại,nó copy nguyen paste thả vào lại thì nó lại chạy binh thường.
E thấy trường mình máy cái chuyện cài win, cài phần mềm sao có vẻ khó khăn dữ thế không biết,sửa cho nó ổn định đảm bảo chứ như vậy rất ảnh hưởng quá trình thi cử rồi nhiều chuyện khác nữa.
p/s:E chỉ góp ý
e thấy có 1 vấn đề rất bức xúc với hàm memmove:
đề là xóa k vị trí trong mảng (con trỏ đã cấp phát) từ vị trí thứ i:
thì với em đọc tài liệu trang cplusplus là memmove(đích,nguồn,số byte di chuyển từ sau nguồn)
Vậy thì mảng ar[] có n phần tử thì e làm như sau:
memmove (ar+i, ar+i+k, (n-i-k)* sizeof (kiểu phần tử))
Vì đích là ar+i, nguồn là vi trí i + k, số phần tử còn lại chính là số phần tử kéo đi từ sau nguồn: n-i-k
rồi sau khi muốn xuất thì e cho i =0 chạy tới < n-k;
Ngay cả trước giờ em dùng codeblock 12.04 hay là visual 2012 pro thì nó hoạt động rất tốt nhưng không hiểu sao khi lên phòng máy xài thằng visual 2008
thì nó báo lỗi tràn ar rồi nó break;
sau đó e chạy vẫn thế nên dành xoay xở đại chứ đang thi mà ai dám bình tĩnh nghĩ mình đúng.nên em viet là:
memmove (ar+i,ar+i+k,k*sizeof(kieu pt));
ai ngờ nó trúng phóc.thử liền 3,4 lần thi thấy nó chạy đúng(thi thời gian nào mà thử nhiều)
cuối cùng e để vậy,nhưng về ktx nghĩ đi nghĩ lại thấy nó sai rõ ràng.
Ngay cả thằng bạn thi cùng e về kể nó tạo project đầu tiên nó chạy chẳng dc,mà thằng này không phải amatuer đâu biết gì nên nó khẳng định là nó tạo project đúng.nhưng kiểu gì nó cũng báo lỗi.nó cũng hơi hoản nhưng nó copy nguyên cái code paste vào notepad rồi sau nó tắt visual để chạy lại,nó copy nguyen paste thả vào lại thì nó lại chạy binh thường.
E thấy trường mình máy cái chuyện cài win, cài phần mềm sao có vẻ khó khăn dữ thế không biết,sửa cho nó ổn định đảm bảo chứ như vậy rất ảnh hưởng quá trình thi cử rồi nhiều chuyện khác nữa.
p/s:E chỉ góp ý
Comment