【发布时间】:2017-11-09 21:47:59
【问题描述】:
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int ma(float array[], int N)
{
int k = 0;
float max = array[k];
for (int i = 0; i < N; ++i) {
if (array[i] > max) {
max = array[i];
k = i;
}
}
return k;
}
int main()
{
int t;
while (t--) {
int n;
cin >> n;
int w[n], p[n];
for (int i = 0; i < n; i++)
cin >> w[i];
for (int i = 0; i < n; i++)
cin >> p[i];
float x[n];
for (int i = 0; i < n; i++)
x[i] = p[i] / w[i];
int weigth = 0, profit = 0;
while (weigth <= 20) {
// int k=distance(x, max_element(x, x + n));
// int k= std::distance(x, max_element(x, x + sizeof(x)/sizeof(x)));
int k = ma(x, n);
weigth = weigth + w[k];
profit = profit + p[k];
x[k] = p[k] = w[k] = 0;
}
cout << weigth << endl
<< profit << endl;
}
}
上面的代码没有打印任何东西。如果您想问问题,请参考"catch-the-match":
【问题讨论】:
-
int t; while(t--)— 你忘记初始化t -
"如果你想问这个问题..." .. 什么?如果你想要一个答案,你应该在问题中提供一个问题,而不是隐藏在要求我登录某处的链接后面
-
你可能想要
int t=N,其中 N 是任何非零值(例如 10),你应该决定这个值是什么因为我不登录就看不到问题 -
我可以建议从更简单的开始 - 和learning how to use your debugger吗?
标签: c++