0
以下のコードの目的は、ユーザーが入力した変数(aとc)を乗算し(a * c)、この数の要因を見つけて、これらの要素のどれが別のユーザー入力変数この場合、b)。何らかの理由で、正しくコンパイルされていないため、なぜその理由が理解できません。コマンドcout << sum1 << endl << sum2 << endl;
を使用しようとすると、予想外の番号が表示されます。私のコードに何か問題があると誰かに教えてもらえますか?これは、関数内で作成されたsum1とsum2の値をmainに返すvoid funtionです。変数a、b、c、f []はすべてmainで定義されています。ここでは関数宣言がある:サイズを変数で定義した配列変数の代入を取得するには?
void findFactors(int, int, int, int[], int&, int&);
と機能自体:誰も私を助けることができる場合
void findFactors(int a, int b, int c, int f[], int& sum1, int& sum2)
{
int j=0;
int mult=a*c;
int i, z=j, temp;
for(i=1; i<=mult; i++)
{
if(mult%i==0)
{
f[j]=i;
j++;
}
}
for(j=0; j>=0; j--)
{
temp=mult/f[j];
if(temp+f[z]==b || temp-f[z]==b || f[z]-temp==b)
{
sum1 = f[z];
sum2 = temp;
}
}
}
、それをいただければ幸いです。感謝:)
この機能は、あなたがそれを期待してどのように取り組んでいるが、変数b
ためのこれらの条件が満たされない限り、その後、
sum1
と
sum2
は決してセットを取得されていない、と彼らはしている場合は、
sum1
がすべき場合
も機能 – Smeeheey
を使用してコードを共有してくださいする必要があります(J = 0; j>は= 0; jの - )'ループは、それだけでありません最初のループの後に 'j'が' -1'なので一度実行しますか? – BackDoorNoBaby
関数に渡される 'f'配列の大きさはどれくらいですか? – Barmar