我正在爲我的課程開發一個項目,我必須使用全部四種算法來處理最大子數組子問題(三次,二次,線性和遞歸)。我的問題是,我應該從一個文件讀取輸入,而且我很難找出如何讀取直到行結束,執行代碼與數據,然後移動到下一行。輸入文件看起來是這樣的:需要幫助從文件讀取直到行尾
2
-5 -10 -2 -4
2
-2 10 -5 -6
3
-10 -5 0 5 -20 20 -50
4
10 8 2 -20 -50 -100 -150
0
-1 -2 -3 -4 -5
1
-100 -200 0
4
200 500 -700 1000 2000 -5000 4 10
4
100 200
6
0 0 0 0 0 0 -10
5
-4 10 -3 200 500 -700 2
0
5 10 15 20 25 30 35
2
10 30 50 70 100
3
-15 16 23 -30 0 -2 13 8 6 0 -4 -15
12
9 8 23 -1 -23 -4 0 0 4 7 9 10 -23 68 1 -2 -3 -6 -19 10 5 1 1 2 4 3 -46 12 -100 78 -23 0 0 12 2 7
5
-1 -3 0 2 3 6 1 -5 -3 -2
現在我的問題是,我希望能夠在一個單一的數字閱讀(最小的子數組的長度),然後填充它下面的數字排的陣列,然後使用該數據執行所有四種算法,然後我想繼續下一個最小子數組長度和下一個數組值,執行所有四種算法等等,我希望能夠一次完成這一切。例如,我想讀取2作爲最小子數組長度,然後使用(-5,-10,-2,-4)作爲數組,執行所有四種算法,然後使用2作爲最小長度, (-5,10,-5,-6)作爲數組,執行所有四種算法,並一直執行,直到文件結束。
零努力解決由OP結果顯示的問題,零努力解決給定的問題由我。對不起。這裏有一些非隨機的關鍵字來幫助你開始:'std :: getline','std :: stringstream','while(sstream >> number)' – user4581301
使用** getline **方法一次獲得整行,在交替行上使用** strtok **來根據空格分割行 – CrakC
@CrakC'strtok'是一種破壞性函數,它不會將std :: string與字符串複製到char數組並且使用'std :: getline'與std :: string以外的任何東西都是非常不好的想法。 – user4581301