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

条件付きの指定された配列から配列を検索するC++コード


n個の要素を持つ配列Aがあるとします。サイズnの別の隠し配列Bがあります。要素は負または正にすることができます。 1からnの範囲のインデックスiごとに、次の操作が実行されます-

  • 最初はA[i]を0に設定します

  • 次に、B[i]をA[i]に加算し、B [i + 1]を減算してから、B [i+2]を加算します。

配列Bを見つける必要があります。

したがって、入力がA =[6、-4、8、-2、3]の場合、出力は[2、4、6、1、3]

になります。

ステップ

これを解決するには、次の手順に従います-

for initialize i := 0, when i < size of A, update (increase i by 1),
do:
   print (A[i] + A[i + 1])

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
void solve(vector<int> A){
   for (int i = 0; i < A.size(); i++)
      cout << A[i] + A[i + 1] << ", ";
}
int main(){
   vector<int> A = { 6, -4, 8, -2, 3 };
   solve(A);
}

入力

{ 6, -4, 8, -2, 3 }

出力

2, 4, 6, 1, 3,

  1. C++で指定された条件でグリッドに8つの数字を入力します

    1、2、3、4、5、6、7、8を、指定された図の8つの円に配置するとします。このようにして、シーケンス内で隣接する番号に隣接する番号はありません。 したがって、入力が次のような場合 0 - 1 - 1 0 - 1 - 1 - 1 - 1 0 - 1 - 1 0 その場合、出力は次のようになります これを解決するには、次の手順に従います- N:=3、M:=4 考慮されていません:=-1 関数present_in_grid()を定義します。これには、grid [N] [M]、num、が必要です。

  2. C++で指定された操作で配列の合計を最大化する

    説明 (2 * n – 1)個の整数の配列があります。配列内の正確にn個の要素の符号を変更できます。つまり、正確にn個の配列要素を選択し、それぞれに-1を掛けることができます。配列の最大合計を求めます。 例 入力配列が{-2、100、-3}の場合、-2と-3の最大変化符号を取得できます。符号配列を変更すると、-になります {2、100、3}であり、この配列の最大合計は105です。 アルゴリズム 負の数を数える 数値の絶対値を使用して、配列の合計を計算します。 数値の絶対値を取得して、配列の最小数を見つけます いいえかどうかを確認します。負の数の数は奇数であり、nの値は偶数であり、合計か