Announcement

Collapse
No announcement yet.

Có vấn đề máy tính của phòng thực hành

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Có vấn đề máy tính của phòng thực hành

    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 ý

  • #2
    đây là chương trình nhỏ e viết hồi trước chạy thử đây:
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>

    int main()
    {
    int ar[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    memmove (ar+2 , ar+2+3 ,(15-2-3) *sizeof(int ));
    for (int i=0;i<15-3;i++)

    {
    printf("%d \n",ar[i]);
    }
    getch();
    }
    kq la 1,2,6,7,8,9,10,11,12,13,14,15
    con nếu là k* thì:
    1,2,6,7,8,6,7,8,9,10,11,12
    mà phải e ngu để cho k+i> n đâu.cái đó e nhập tay mà,làm sao mà nó lọt ra ngoài mà lỗi phải gì

    Comment


    • #3
      Originally posted by 13520797 View Post
      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 ý
      Cậu nói thử cậu tạo project như thế nào? Còn cái gì lỗi chắc chắn phải có nguyên do của nó, không phải cứ thích là lỗi.
      P/s: Máy tớ cài VS 10, học VS 08, thi VS05:salute:
      I don't know the secret to success, but the secret to failure is trying to please everyone

      Comment


      • #4
        Một gạch cho SV chủ thớt.

        Comment

        LHQC

        Collapse
        Working...
        X