這次將作業改為檔案的輸入輸出,我在**中插入了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...