C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の配列内のすべてのペアワイズ連続要素の積


n個の整数の配列arr[n]が与えられた場合、タスクはすべてのペアワイズ連続要素の積を見つけることです。

配列arr[]の連続する要素は、i番目の要素、つまりarr [i]にある場合、その連続する要素はarr [i +1]またはarr[i-1]のいずれかになるため、積はarr[になります。 i] * arr [i+1]またはarr[i]*arr[i-1]。

入力

arr[] = {1, 2, 3, 4}

出力

2, 6, 12

説明

Splitting into pairs {1,2}, {2, 3}, {3, 4}
Their results will be 1*2 = 2, 2*3 = 6, 3*4 = 12

入力

arr[] = {9, 5, 1, 2, 6, 10}

出力

45, 5, 2, 12, 60

説明

Splitting into pairs {9, 5}, {5, 1}, {1, 2}, {2, 6}, {6, 10}
Their results will be 9*5 = 45, 5*1 = 5, 1*2 = 2, 2*6=12, 6*10=60

問題を解決するために以下で使用するアプローチは次のとおりです-

  • 配列の0番目の要素からn-1未満になるまでループを開始します。

  • i + 1をチェックするたびに、iとi+1ごとに結果が出力されます。

アルゴリズム

Start
Step 1→ Declare function to calculate product of consecutive elements
   void product(int arr[], int size)
      Declare int product = 1
      Loop For int i = 0 and i < size – 1 and i++
         Set product = arr[i] * arr[i + 1]
         Print product
      End
Step 2 → In main()
   Declare int arr[] = {2, 4, 6, 8, 10, 12, 14 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call product(arr, size)
Stop

#include <iostream>
using namespace std;
//functio to find the product of consecutive pairs
void product(int arr[], int size){
   int product = 1;
   for (int i = 0; i < size - 1; i++){
      product = arr[i] * arr[i + 1];
      printf("%d ", product);
   }
}
int main(){
   int arr[] = {2, 4, 6, 8, 10, 12, 14 };
   int size = sizeof(arr) / sizeof(arr[0]);
   printf("product is : ");
   product(arr, size);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

product is : 8 24 48 80 120 168

  1. C++の2つの二分探索木のすべての要素

    2つのバイナリ検索ツリーがあり、これらのツリーにすべての要素が存在する値のリストを返す必要があり、リスト要素は昇順になります。したがって、木が次のような場合- その場合、出力は[0,1,1,2,3,4]になります。 これを解決するには、次の手順に従います- ansという配列を定義し、2つのスタックst1とst2を定義します curr1:=root1およびcurr2:=root2 ノードroot1とすべての左側のノードをst1に挿入し、ノードroot2とすべての左側のノードをst2に挿入します st1が空でないかst2が空でない場合 st1が空でない場合、および(st2が空で

  2. C++の無向グラフのすべてのサイクルの長さの積

    入力として無向グラフと無加重グラフが与えられます。タスクは、与えられた中で形成されたサイクルの積を見つけて、結果を表示することです。 例 入力 与えられた図では、8つのノードがあり、そのうち5つのノードが1、6、3、5、8を含むサイクルを形成しており、残りのノードはサイクルに含まれていません。したがって、サイクルの長さは5ノードを含むため5であり、したがって積は5です 与えられた図では、12個のノードがあり、そのうち11個(5 +6)個のノードが、1、6、3、5、8、9、4、10、11、22、12および残りのノードを含むサイクルを形成しています。ノード2はサイクルに含まれて