C++ Code Optimization: Efficiently Calculating Array Values
The given code takes three inputs, a, b, and c. It then declares arrays d and e of size a, arrays f and g of size b. It then takes inputs for arrays d, e, and f.
The code then uses nested loops to check if the sum of f[i] and c is greater than d[j] - e[j] and less than or equal to d[j]. If this condition is true, it increments g[i] by 1.
Finally, it prints the values of array g.
However, there are a few issues with the code:
- The size of arrays d and e should be b, not a.
- The initialization of array g is incorrect. It should be initialized to all zeros.
Here is the corrected code:
#include <iostream>
using namespace std;
int main() {
int a, b, c, i, j;
cin >> a >> b >> c;
int d[b], e[b], f[a], g[a] = {0};
for (i = 0; i < b; i++)
cin >> d[i] >> e[i];
for (i = 0; i < a; i++)
cin >> f[i];
for (i = 0; i < a; i++) {
for (j = 0; j < b; j++) {
if (((f[i] + c) > (d[j] - e[j])) && ((f[i] + c) >= d[j]))
g[i] = g[i] + 1;
}
}
for (i = 0; i < a; i++)
cout << g[i] << endl;
return 0;
}
Now, the code will correctly take inputs and calculate and print the values of array g.
原文地址: https://www.cveoy.top/t/topic/jzUg 著作权归作者所有。请勿转载和采集!