これは私が行った作業です。ポインタローカル変数との関係
整数の配列と配列のサイズを受け入れ、以下を見つけるC++関数を書く: a。配列内の要素の合計 b。配列要素の平均値 c。配列内の最小値と最大値 メインプログラムで、動的メモリ割り当てを使用して10個の整数の配列を宣言し、前述の関数 を呼び出します。関数の出力をメインに表示します。 (出力値については、 参照による呼び出しを使用してください)。
私のコードザッツ//USER DEFINED FUNCTION " func "
void func(int arr[], int size, int *sum, int *avg, int *min, int *max)
{
*sum = 0;
*min = arr[0];
*max = arr[0];
*avg = 0;
//calculations for sum
for (int i = 0; i < size; i++)
{
*sum = *sum + arr[i];
}
//calculations for avg
*avg = *sum/size;
//calculations for minimum
for (int i = 0; i < size; i++)
{
if (*min > arr[i])
*min = arr[i];
}
//calculations for maximum
for (int i = 0; i < size; i++)
{
if (*max < arr[i])
{
*max = arr[i];
}
}
}
void main()
{
int *arr;
int size;
cout << "enter size of array " << endl;
cin >> size;
arr = (int*) calloc(size, sizeof(int));
for (int i = 0; i < size; i++)
{
cout << "enter element : " << endl;
cin >> arr[i];
}
int sum, avg, min, max;
func(arr, size, &sum, &avg, &min, &max);
cout << "sum is : " << sum << "\n avg is : " << avg << endl;
cout << "minimum is : " << min << endl;
cout << "the maximum is : " << max << endl;
getch();
}
、その作業罰金と私に望ましい結果を与えるが、「FUNC」ボディに、私は*分、* MAX、*平均を使用していますので、私は合格しているので、同様にこのための彼らのいずれかの代替であります私はポインタを使って値を参照するだけで値を渡し、 "* min"の代わりに "min"を使うことができます。私はポインタを介して値を渡す方法について提案したいが、ここでは "func"のようなユーザ定義関数の本体の中で逆参照演算子を使用しないでください。
C++で 'calloc'を使用しないでください。 –
[参考文献](https://www.tutorialspoint.com/cplusplus/cpp_references.htm)を参照してください。 –
Ajayメイン関数でnew演算子とdelete演算子を使用しても、 "min"の代わりに "* min"を使用する必要があります。 –