我正在为我的班级开发一个项目,我必须使用所有四种算法来处理最大子阵列子问题(立方,二次,线性和递归)。我的问题是我应该从文件中读取输入,我无法弄清楚如何读取直到行结束,用该数据执行代码,然后移到下一行。输入文件如下所示:
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)作为数组,执行所有四种算法,并一直这样做直到文件结束。
答案 0 :(得分:0)
这是一个可能有用的快速解决方案(" test.txt"包含您的值...)
ssize_t size = read(fd,resp,20);
resp[size] = '\0';