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

C++での2つの配列の積の最大合計


このチュートリアルでは、2つの配列の積の最大合計を見つけるプログラムについて説明します。

このために、同じサイズの2つのアレイが提供されます。私たちのタスクは、最初の要素の1つの要素と2番目の配列の1つの要素を掛け合わせて、最大の合計を見つけることです。

#include<bits/stdc++.h>
using namespace std;
//calculating maximum sum by
//multiplying elements
int maximumSOP(int *a, int *b) {
   int sop = 0;
   int n = sizeof(a)/sizeof(a[0]);
   sort(a,a+n+1);
   sort(b,b+n+1);
   for (int i = 0; i <=n; i++) {
      sop += a[i] * b[i];
   }
   return sop;
}
int main() {
   int A[] = { 1, 2, 3 };
   int B[] = { 4, 5, 1 };
   cout<<maximumSOP(A, B);
   return 0;
}

出力

24

  1. C++の2つの異なる配列のサブ配列の最大OR合計

    問題の説明 正の整数の2つの配列が与えられます。各アレイから同じサイズの2つのサブアレイを選択し、2つのサブアレイの可能な最大OR合計を計算します。 例 arr1 [] ={1、2、4、3、2}およびの場合 Arr2 [] ={1、3、3、12、2}次に、次の2つのサブ配列を作成すると最大の結果が得られます- Subarr1 [] ={2、4、3}および Subarr2 [] ={3、3、12} アルゴリズム 以下の式を使用して結果を得ることができます- f(a, 1, n) + f(b, 1, n) 例 #include <bits/stdc++.h> using

  2. C++の配列の最大平衡合計

    問題の説明 配列arr[]が与えられます。 arr[]のインデックスiのサフィックス合計でもあるプレフィックス合計の最大値を見つけます。 例 入力配列が-の場合 Arr [] ={1、2、3、5、3、2、1}の場合、出力は次のように11になります- プレフィックス合計=arr[0..3] =1 + 2 + 3 + 5=11および サフィックスの合計=arr[3..6] =5 + 3 + 2 + 1 =11 アルゴリズム 配列をトラバースし、各インデックスのプレフィックスの合計を配列presum []に格納します。ここで、presum[i]はサブ配列arr[0..i]の合計を格納し