軟體工程第二次作業

2022-03-09 02:07:42 字數 2525 閱讀 6707

題目鏈結位址

github鏈結位址

難度瓶頸

最終選擇

改進版本

只是生成數獨終盤,不考慮附加作業,就沒有考慮類,只是函式。

array[0][0] = 7;

basic.erase(7);//basic為集合名稱

if (basic.size() == 0) 

}for (int k = 0; k <= row; k++)

} }else

} }

版本二:

void creatarray() 

btnarray[0] = 7;

btnarray[6] = 1;

for (int i = 0; i<20; i++)

}

bool checkbtnarray(int row)

} //陣列數字選遍,仍無合適數字,則此陣列不可用

if(judge == 0)

return false;}}

return true;

}

僅針對版本二,版本一無力回天了。

char* path = "./sudoku.txt";	// 建立檔案的相對路徑

ofstream fout(path);

void print()

fout << endl;

} fout << endl;

}

看了大佬**,用的putchar,果斷換,也用printf試過,後者慢一些

freopen("./sudoku.txt", "w", stdout); 

void print()

puts("");

} puts("");

}

執行截圖,100萬資料:七分多鐘

printf函式所佔比例:

for(int j = 0;j < 9;j++)

}

將已經正確填入的數字置0,加以判斷

for (int j = 0; j < 9; j++) 

} }

這樣也保證同行不會有重複,checkone注釋掉同行檢查

/*

//同行不可重複

for (int i = 0; i < row; i++)

*/ //同格不可重複

for (int i = (col / 3) * 3; i < col; i++)

} //同列不可重複

for (int i = 0; i < (col / 3) * 3; i++)

執行截圖,100萬資料,跑了六分多,快了一分多,checkone與checkbtnarray佔比有所下降,但是依舊很大,其中消耗最大的函式是checkone

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫10

20· estimate

· 估計這個任務需要多少時間

1020

development

開發630

960· analysis

· 需求分析 (包括學習新技術)

150200

· design spec

· 生成設計文件100

· design review

· 設計複審 (和同事審核設計文件)

3010

· coding standard

· **規範 (為目前的開發制定合適的規範)

2010

· design

· 具體設計

120120

· coding

· 具體編碼

180240

· code review

· **複審

60300

· test

· 測試(自我測試,修改**,提交修改)

6080

reporting

報告40

70· test report

· 測試報告

2060

· size measurement

· 計算工作量

2010

· postmortem & process improvement plan

· 事後總結,並提出過程改進計畫

120180

合計680

1050

軟體工程第二次作業

github 位址 我剛開始打 的時候覺得打完就好,能過樣例就ok。經歷過一段時間後會發現有可能樣例過了其他測試點全錯,所以就會開始多測試幾組資料,希望自己的 能夠盡量準確。當準確性開始有保障後,我就會去思考程式本身是不是可以進一步改進,使 執行速度變的更快。在我看來自己出資料測試就相當於書中說的單...

軟體工程第二次作業

1.簡述軟體過程 軟體生存週期 軟體過程模型 軟體生存週期模型 三者之間的概念區別。軟體過程 軟體生存週期中的一系列相關過程所涉及的活動 軟體生存週期 軟體生命週期 同任何事物類似,軟體也有乙個從生到死的過程,這個過程一般稱為軟體生存週期或生命週期 軟體過程模型 軟體生存週期模型 為了能高效地開發乙...

軟體工程第二次作業

vs是乙個基本完整的開發工具集,它包括了整個軟體生命週期中所需要的大部分工具,本學期軟體工程我選擇virtual studio 2015作為開發工具。由於以前安裝過virtual studio 2015,這裡直接放上virtual studio 2015開發環境,如下圖所示。這裡通過對 求陣列的最值...