Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

[Help] Các bác giúp em khẩn cấp với ạ!

Discussion in 'Ngôn ngữ lập trình khác (Pascal, C#, VB, ...)' started by Thảo Viki, 25/3/15.

  1. Thảo Viki

    Thảo Viki New Member

    Mặc dù em biết các bác rất rất là bận nhưng hãy dành một chút thời gian giúp em với đk ko ạ.
    Cụ thể là e cóp trên mạng đk cái code trên mạng,,,nhưng ko chạy đk,,các bác có thể chỉnh sửa thêm mắm muối vào để nó chạy đk ko ạ. e cám ơn nhiều lắm lắm.Cụ thể cái code nó như sau:
    Code

    class TIENTRINH

    {

    private: int stt;

    int t_den;

    int t_xuly;

    int t_cho;

    int finish;

    public TIENTRINH();

    TIENTRINH(int stt,int t_den,int t_xuly);

    void insert(int stt,int t_den,int t_xuly);

    int getT_DEN(); void setT_DEN(int a);

    int getT_XULY();

    void setT_XULY(int a);

    int getT_CHO();

    void setT_CHO(int a);

    int getFINISH();

    void setFINISH(int a);

    int getSTT();

    };

    Stt : số thứ tự của tiến trình

    t_den : thời gian đến của tiến trình

    t_xuly : thời gian xữ lý của tiến trình

    t_cho : thời gian chờ của tiến trình

    finish : thời gian hoàn thành của tiến trình

    và các hàng thiết lập và lấy thông tin

    -Ready List

    Code

    struct DS { int id; DS *next; };

    typedef DS* list;

    Id: chứa số thứ tự tiến trình trong Ready List

    -Input

    Code

    struct Input {

    int den,xuly;

    Input *next;

    };

    typedef Input* IN;

    den: thời gian đến của tiến trình khi nhập liệu

    xử lý: thời gian xử lý của tiến trình khi nhập liệu

    Thuật toán FIFO

    void FIFO()

    {

    int time=0,ok=1,i,j=0,ID;

    while(ok)

    {

    ID=-1; PrintRL(ready,time); l

    istBox2->Items->Add("------------------");

    for(i=0;i<quantum;i++)

    {

    // nap readylist luc bat dau

    if(tt[j].getT_DEN()==time && j<n )

    { them(j);

    j++; listBox2->Items->Add("Time = "+time.ToString()+" : Nap tien trinh : "+(tt[j-1].getSTT()).ToString());

    }

    // nen ton tai tt trong readylist thi lam,ko thi thoat quantum

    if(ready) {

    ID=(*ready).id;

    listBox2->Items->Add("Time = "+time.ToString()+" : xu ly tien trinh : "+(tt[ID].getSTT()).ToString()); if(tt[ID].getT_XULY()>0)

    {

    // tang thoi gian cho cua cac tt trong ready

    tangT_CHO(ready,ID);

    tt[ID].setT_XULY(tt[ID].getT_XULY() - 1);

    if(tt[ID].getT_XULY()==0) xoa(); }

    time++;

    if(tt[ID].getT_XULY()==0)

    {

    tt[ID].setFINISH(time);

    listBox2->Items->Add("Time = "+time.ToString()+" : hoan thanh tien trinh : "+(tt[ID].getSTT()).ToString());

    break; } }

    else { tangT_CHO(ready,-1);

    time++;

    break; } }

    listBox2->Items->Add("-------Hoan thanh chu ky-------"); listBox2->Items->Add("------------------");

    if(checkFinish()) ok=0; }

    TIME=time }



    Thuật toán Round Robin(RR)

    void RR() {

    int time=0,ok=1,i,j=0,ID,check;

    while(ok) {

    ID=-1;

    check=0;

    PrintRL(ready,time);

    listBox2->Items->Add("------------------");

    for(i=0;i<quantum;i++) {

    // nap readylist luc bat dau

    if(tt[j].getT_DEN()==time && j<n ) {

    them(j); j++;

    listBox2->Items->Add("Time = "+time.ToString()+" : Nap tien trinh : "+(tt[j-1].getSTT()).ToString());

    }

    // nen ton tai tt trong readylist thi lam,ko thi thoat quantum

    if(ready) {

    ID=(*ready).id;

    listBox2->Items->Add("Time = "+time.ToString()+" : xu ly tien trinh : "+(tt[ID].getSTT()).ToString());

    if(tt[ID].getT_XULY()>0)

    {

    // tang thoi gian cho cua cac tt trong ready

    tangT_CHO(ready,ID);

    tt[ID].setT_XULY(tt[ID].getT_XULY() - 1);

    if(tt[ID].getT_XULY()==0) xoa();

    }

    time++;

    if(tt[ID].getT_XULY()==0) { tt[ID].setFINISH(time);

    listBox2->Items->Add("Time = "+time.ToString()+" : hoan thanh tien trinh : "+(tt[ID].getSTT()).ToString());

    check=1; // ****

    break; // ****

    } }

    else { tangT_CHO(ready,-1);

    time++;

    break; } }

    if(!check) hoanvi();

    listBox2->Items->Add("-------Hoan thanh chu ky-------");

    listBox2->Items->Add("------------------");

    if(checkFinish()) ok=0; }

    TIME=time; }


    Thuật toán Shortest Job First(SRT)

    void SJF() {

    int time=0,ok=1,i,j=0,ID;

    while(ok) { ID=-1; PrintRL(ready,time);

    listBox2->Items->Add("------------------");

    for(i=0;i<quantum;i++) {

    // nap readylist luc bat dau

    if(tt[j].getT_DEN()==time && j<n ) {

    them(j); j++;

    listBox2->Items->Add("Time = "+time.ToString()+" : Nap tien trinh : "+(tt[j-1].getSTT()).ToString());

    }

    // nen ton tai tt trong readylist thi lam,ko thi thoat quantum

    if(ready) {

    ID=(*ready).id;

    listBox2->Items->Add("Time = "+time.ToString()+" : xu ly tien trinh : "+(tt[ID].getSTT()).ToString());

    if(tt[ID].getT_XULY()>0) {

    // tang thoi gian cho cua cac tt trong ready

    tangT_CHO(ready,ID);

    tt[ID].setT_XULY(tt[ID].getT_XULY() - 1);

    if(tt[ID].getT_XULY()==0) xoa();

    }

    time++;

    if(tt[ID].getT_XULY()==0) {

    tt[ID].setFINISH(time);

    listBox2->Items->Add("Time = "+time.ToString()+" : hoan thanh tien trinh : "+(tt[ID].getSTT()).ToString());

    break;

    } }

    else {

    tangT_CHO(ready,-1);

    time++;

    break; } }

    sapxep();

    listBox2->Items->Add("-------Hoan thanh chu ky-------");

    listBox2->Items->Add("------------------");

    if(checkFinish()) ok=0;

    }

    TIME=time;

    }


    Thuật toán Shortest Remain Time(SRT)

    void SRT() {

    int time=0,ok=1,i,j=0,ID;

    while(ok) {

    ID=-1;

    PrintRL(ready,time);

    listBox2->Items->Add("------------------");

    for(i=0;i<quantum;i++) {

    // nap readylist luc bat dau

    if(tt[j].getT_DEN()==time && j<n ) {

    them(j); j++;

    listBox2->Items->Add("Time = "+time.ToString()+" : Nap tien trinh : "+(tt[j-1].getSTT()).ToString());

    }

    // nen ton tai tt trong readylist thi lam,ko thi thoat quantum

    if(ready) { ID=(*ready).id;

    sapxep();

    if( ID != (*ready).id ) break;

    //****

    listBox2->Items->Add("Time = "+time.ToString()+" : xu ly tien trinh : "+(tt[ID].getSTT()).ToString());

    if(tt[ID].getT_XULY()>0) {

    // tang thoi gian cho cua cac tt trong ready

    tangT_CHO(ready,ID);

    tt[ID].setT_XULY(tt[ID].getT_XULY() - 1);

    if(tt[ID].getT_XULY()==0) xoa();

    }

    time++;

    if(tt[ID].getT_XULY()==0) {

    tt[ID].setFINISH(time);

    listBox2->Items->Add("Time = "+time.ToString()+" : hoan thanh tien trinh : "+(tt[ID].getSTT()).ToString());

    break; } }

    else {

    tangT_CHO(ready,-1);

    time++; break;

    } }

    sapxep();

    listBox2->Items->Add("-------Hoan thanh chu ky-------");

    listBox2->Items->Add("------------------");

    if(checkFinish())

    ok=0; }

    TIME=time; }
     
  2. Joe

    Joe Thành viên VIP

Chia sẻ trang này

Loading...