C ++を使用して、暗号化された配列(他の要素の合計の配列)から元の配列を検索します。
整数の配列があり、その配列が暗号化された配列であると仮定します。配列がA =[10、14、12、13、11]であり、元の配列がB =[5、1、3、2、4 ]、AのインデックスIの各要素が次のルールに従っていることがわかります。A[i] =B[j]の位置jにあるすべての要素の合計。ここでI≠jです。私たちのタスクは、暗号化された配列から元の配列を見つけることです。
タスクは算術観測に基づいています。配列のサイズが4であるとすると、元の配列Bには4つの要素B =[a、b、c、d]があるため、AはA [b + c + d、a + c + d、a + b+dのようになります。 、a + b + c]、Bのすべての要素を追加すると、sum =b + c + d + a + c + d + a + b + d + a + b + c =3 *( a + b + c + d)。したがって、Bの要素の合計はsum / 3になります。ここで、Bの要素が[sum – A [0]、sum – A [1]、sum – A [2]、sum –A[3]になることがわかります。 ]]
例
#include<iostream> using namespace std; void showOrigianlArray(int arr[], int n) { int sum = 0; for (int i=0; i<n; i++) sum += arr[i]; sum = sum/(n-1); for (int i=0; i<n; i++) cout << (sum - arr[i]) << " "; } int main() { int arr[] = {10, 14, 12, 13, 11}; int n = sizeof(arr) / sizeof(arr[0]); showOrigianlArray(arr, n); }
出力
5 1 3 2 4
-
C ++を使用して、暗号化された配列(他の要素の合計の配列)から元の配列を検索します。
整数の配列があり、その配列が暗号化された配列であると仮定します。配列がA =[10、14、12、13、11]であり、元の配列がB =[5、1、3、2、4 ]、AのインデックスIの各要素が次のルールに従っていることがわかります。A[i] =B[j]の位置jにあるすべての要素の合計。ここでI≠jです。私たちのタスクは、暗号化された配列から元の配列を見つけることです。 タスクは算術観測に基づいています。配列のサイズが4であるとすると、元の配列Bには4つの要素B =[a、b、c、d]があるため、AはA [b + c + d、a + c + d、a + b+dのようになります。 、a + b + c]
-
C++でポインタ演算を使用した配列の合計
これは、ポインタを使用して配列要素の合計を見つけるC++プログラムです。 アルゴリズム Begin Initialize the array elements with values from user input. Initialize s = 0 Loop for i = 0 to s = s + *(ptr + i) Print the sum value in variable s. End サンプルコード #include<iostr