C++合計配列パズル
配列 同じデータ型の複数の要素を格納するデータ構造です。値のセット全体を一度に保存できます。ただし、その長さは事前に定義する必要があります。
この合計配列パズルでは、nと言う明確なサイズの配列A1が与えられます。このパズルを解くために、位置が使用されている要素を除く配列のすべての要素の合計を格納するS1という配列を作成します。たとえば、S1 [3]が計算されている場合、位置4の要素を除くA1のすべての要素の合計が求められます。
例-
Array A1 = {1,2,3,4,6} Output S1 = {15,14,13,12,10}
説明 −合計配列を計算するには、初期配列の各要素を合計変数に追加して、合計配列と同じ数の値を受け入れます。つまり、合計配列の最初の要素については、配列の最初の要素を除くすべての要素の合計を計算し、配列全体についても同じです。このロジックを使用して、合計配列の各要素の値を計算してみましょう。
Sum [0]、0 th の要素を除く要素の合計を計算します 索引。だから、
Sum [0] =2 + 3 + 4 + 6 =15
同様に、sum [1] ...
の値を計算しますSum [1] =1 + 3 + 4 + 6 =14
Sum [2] =1 + 2 + 4 + 6 =13
Sum [3] =1 + 2 + 3 + 6 =12
Sum [4] =1 + 2 + 3 + 4 =10
したがって、合計配列のすべての要素の準備ができておらず、合計配列はsum ={15,14,13,12,10}
アルゴリズム
Step 1 : Initialise a sum array sum[n] to zero, where n = size of the original array. Step 2 : Iterate over sum[] and do : Step 2.1 : For sum[i], run a for loop for j -> 0 to n Step 2.2 : if(i != j) {sum[i] += arr[j] } Step 3: Print sum array using std print statement.
例
#include <iostream> using namespace std; int main() { int arr[] = { 3, 6, 4, 8, 9 }; int n = sizeof(arr) / sizeof(arr[0]); int leftSum[n], rightSum[n], Sum[n], i, j; leftSum[0] = 0; rightSum[n - 1] = 0; cout<<"The original array is : \n"; for (i = 0; i < n; i++) cout << arr[i] << " "; for (i = 1; i < n; i++) leftSum[i] = arr[i - 1] + leftSum[i - 1]; for (j = n - 2; j >= 0; j--) rightSum[j] = arr[j + 1] + rightSum[j + 1]; for (i = 0; i < n; i++) Sum[i] = leftSum[i] + rightSum[i]; cout<<"\nThe sum array is : \n"; for (i = 0; i < n; i++) cout << Sum[i] << " "; return 0; }
出力
The original array is : 3 6 4 8 9 The sum array is : 27 24 26 22 21
-
C++での並べ替え
このセクションでは、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