第三次寒假作業

2022-05-11 08:07:57 字數 1626 閱讀 2712

這次將作業改為檔案的輸入輸出,我在**中插入了file *fpread=fopen("input.txt","r");

並將輸入改成了

} ```

生成了```input.txt```

在輸入上我將**中插入了一行``` file *fpwrite=fopen("output.txt","w"); ```

並將輸出改成了

```for (i=0;i<5;i++)

fprintf(fpwrite,"%d時,停靠在%d樓\n",sumtime,ele[i].begin);

sumtime+=abs(ele[i].end-ele[i].begin)+1;

fprintf(fpwrite,"%d時,停靠在%d樓\n",sumtime,ele[i].end);

}```

生成了```output.txt```

##2控制電梯的函式

在函式中,最終有

```void pickup(int ,int ,int ,int *,int* );

void stop(int*);

int getdata(char);

void lift(char*);```控制電梯的執行

並且有```void getcomb(int); /*get all possible pickup*/```

```void writecomb(); /*write pickup order*/```

```void swap(int, int); /*support function for getcomb*/```的函式控制電梯選擇相對最優的接人方式。

控制電梯的執行的函式如下

```void stop(int* time)

``````void pickup(int passengerfloor,int targetfloor,int requesttime,int *time,int* floor)

``````int getdata(char data)```

控制電梯選擇相對最優的解的函式如下

```void getcomb(int offset)else

}}```

```void writecomb()

combcount++;

}```

```void swap(int i, int offset)```

##3**改進過程

將**的窮舉法的一些特殊情況沒能做出正確的改動了,

總時間 :28小時;

debug數:6;

行數 :229行;

##4測試樣例

這次樣例,我用了 如下樣例

|1 2 3| 2 3 4|3 4 5 |4 5 6|5 6 7|

輸出結果:

!(這組資料和我的思路符合,因為要去7樓,中間停5次

|0 1 0|0 2 0|0 3 0|0 4 0|0 5 0|

輸出結果:

!(這組資料也和我的想法符合

根據上次作業所得出的結果,這個電梯大致上是比較靠譜的,當然還有其他bug需要進一步改進

*#二git心得

上傳的圖

!(上傳日誌

!(

第三次寒假作業(二)

因為這是我首次與他人合作寫 所以找了乙個關係比較好的同學一起寫。但是由於兩個人的水平都處於剛剛學完c語言,對c 一竅不通,並且對演算法也不熟悉,所以合作的過程可以說是非常的艱難。兩人都無法用非常簡練的語言或者 來表達自己的觀點。雖然有些困難,但是一起克服各種問題的感覺也是非常好的。在途中,我因為各種...

寒假作業三題解

繼續完成作業二的程式設計題。優化架構,思考 的拓展性,比如我需要增加其他功能,如選擇,迴圈語句怎麼辦。思考 可以參考現有的程式語言,把這些語言的內容加入。如選擇 迴圈語句 函式 或者擴大數字範圍,支援負數等。if sum 0 為縮小函式長度,直接使用純數字的方式去表示漢字,與以前使用assic碼同理...

第三次作業

2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...