私はCで問題があります。これは質問です。C - 動的配列を使用する
2つの整数配列を一緒に追加するC関数ADDERを作成します。 ADDERには、追加する2つの配列である2つのパラメータのみが必要です。 2番目の配列引数は、終了時に配列の合計を保持します。両方のパラメータは参照渡しする必要があります。
ADDER関数をADDER(A、A)という呼び出しでテストするためのCプログラムを作成します。ここで、Aはそれ自身に追加される配列です。配列Aは任意の値を持つ任意のサイズにできます。プログラムの記述、コンパイル、実行。
プログラムの結果を説明します。
は、これまでのところ、私はそれをこのように解決しているとそれだけで正常に動作します:
#include <stdio.h>
// using namespace std;
const int SIZE = 5;
/* Adds two arrays and saves the result in b
* Assumes that b is larger than or equal to a in size
*/
void ADDER(int (&a)[SIZE], int (&b)[SIZE]) {
int aSize, bSize, i; /* variable declaration */
/* find out the sizes first */
aSize = sizeof (a)/sizeof (int);
bSize = sizeof (b)/sizeof (int);
/* add the values into b now */
for (i = 0; i < aSize; i++) {
b[i] = b[i] + a[i];
}
/* we have the sum at the end in b[] */
}
/* Test program for ADDER */
int main() {
int i; /* variable declaration */
int a[] = {1, 2, 3, 4, 5}; /* the first array */
/* add them now */
ADDER(a, a);
/* print results */
printf("\nThe sum of the two arrays is: ");
for (i = 0; i < SIZE; i++) {
printf("%d ", a[i]); /* print each element */
}
return 0;
}
問題がある、私は動的配列を使用してサイズを計算するためのプログラムでmallocとreallocのを使用する必要がありますアレイのオンザフライで配列サイズと要素自体を指定する代わりに、プログラムにユーザーに入力を要求し、ユーザーが配列を入力してそのサイズが決定されるようにします。それはすべて動的でなければなりません。私はこれがどのように行われたのか分かりません。誰も助けてくれますか?ありがとう!
また、配列がどのようにそれ自身に追加され、結果が "a"に保存され、元の配列が合計で置き換えられたかについて説明しなければなりません。私はこれをどのように説明できますか?
アレイを動的にする場合は、配列のサイズである1つまたは2つ以上のパラメータを受け取るように、「ADDER」関数を変更する必要があります。さもなければ、 'ADDER'が配列のサイズを知る方法はありません。 –
申し訳ありませんが、どうですか? – Amjad
http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?id=1043284351&answer=1047673478 – obo