こんにちは私はアマチュアプログラマーです。さらに悪いことに、プログラミングを行ってからしばらく経ちました。そのため、Topcoderの簡単な問題でメモリを更新することにしました。私が最初にしたのはセグメンテーション違反でしたが、今のところそれは私が自分で理解できることを超えています。誰かがセグメンテーション違反がどこから来たのかを理解するのを手伝ってくれますか。これがコードです。
vector<int> Bonuses (vector<int> points)
{
int totalPoints = 0;
for (int i = 0; i != points.size(); ++i)
{
totalPoints += points[i];
}
vector<int> percentage;
int percentageLeft = 100;
int truncatedPercentage;
for (int i = 0; i != points.size(); ++i)
{
truncatedPercentage = points[i]/totalPoints;
percentage.push_back(truncatedPercentage);
percentageLeft -= truncatedPercentage;
}
for (int i = 1;i <= percentageLeft; ++i)
{
percentage[percentage.size() - i] += 1;
}
return percentage;
}