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

配列内の偶数を減らすC++コード


正の整数を含むサイズnの配列'arr'が与えられたとします。偶数を見つけて1ずつ減らす必要があります。このプロセスの後に配列を出力します。

したがって、入力がn =7、arr ={10、9、7、6、4、8、3}のような場合、出力は9 9 7 5 373になります。

ステップ

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

for initialize i := 0, when i < n, update (increase i by 1), do:
   if arr[i] mod 2 is same as 0, then:
      (decrease arr[i] by 1)
   print(arr[i])
print a new line

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

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int n, int arr[]) {
   for (int i = 0; i < n; i++){
      if (arr[i] % 2 == 0)
         arr[i]--;
      cout<< arr[i] << " ";
   }
   cout<< endl;
}
int main() {
   int n = 7, arr[] = {10, 9, 7, 6, 4, 8, 3};
   solve(n, arr);
   return 0;
}

入力

7, {10, 9, 7, 6, 4, 8, 3}

出力

9 9 7 5 3 7 3

  1. C++の配列内のすべての素数の積

    いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7

  2. C++の両側に同じ数の偶数または奇数の配列インデックス

    ここでは、1つの配列が与えられたと仮定して、1つの問題が発生します。 n個の要素があります。左側の偶数の頻度と右側の偶数の頻度が同じであるか、左側の奇数の頻度が右側の奇数の頻度と同じである1つのインデックスを見つける必要があります。そのような結果がない場合は、-1を返します。 配列が{4、3、2、1、2、4}のようであると仮定します。出力は2です。インデックス2の要素は2で、左側に奇数が1つだけあり、右側に奇数が1つだけあります。 この問題を解決するために、左右の情報を格納するためのペアの2つのベクトルを作成します。左側のベクトルは左側の奇数と偶数の頻度を格納し、右側のベクトルは右側でも同