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

両側に同じ数の偶数または奇数の配列インデックス用のC++プログラム?


偶数または奇数の数が同じである配列インデックスを見つけることは、その両側に同じ数または奇数の数を持つ数です。つまり、左側の番号=右側の番号です。

ここでは、概念に関連するいくつかの定義が必要です。

配列 −同じデータ型の要素のコンテナ。

配列インデックス −要素の位置はそのインデックスと呼ばれます。配列のインデックスは常に0から始まります。

偶数 −2で割り切れる数。

奇数 −2で割り切れない数。

整数は偶数でも奇数でもかまいません。

それでは、概念をより明確にする例を見てみましょう。

Input: arr[] = {4, 3, 2, 1, 2}
Output : 2

説明

インデックス2では、左側に1つの奇数、右側に1つの奇数があります。

n個の整数の配列があり、左側に偶数の要素があり、右側に偶数の要素があるように配列要素のインデックスを見つけるか、奇数の頻度を見つける必要があります。その左側の要素の数は、そのような条件がない場合は右側の奇数の要素の頻度に等しいので、このタイプの条件がある場合は、誰にokprint-1を書き込んだかを確認する必要があります。インデックスを印刷する

アルゴリズム

両側に偶数または奇数の数がある要素のインデックスを計算するには、指定された要素の左側と右側にある要素の数を見つける必要があります。

与えられた配列arr[]、n個の配列要素。

Step 1 : For i -> 0 to n, follow step 2 - 5:
Step 2: initialise e_l, o_l, e_r, o_r to 0.
Step 3: for j -> o to i
   Step 3.1 : count values for e_l and o_l.
Step 4: for j -> i+1 to n
   Step 4.1 : count values for e_r and o_r.
Step 5: if(e_l == e_r) or (o_l == e_r ) , print i.
>

#include <iostream>
using namespace std;
int main() {
   int arr[] = {4, 3, 2, 1, 2};
   int n = 5;
   cout<<"The array is : ";
   for(int i = 0; i < n; i++) {
      cout<<arr[i]<<" ";
   }
   cout<<"\nThe index of the element with the same count of even or odd numbers on both sides = ";
   for (int i = 0; i < n; i++) {
      int o_l = 0, e_l = 0;
      int o_r = 0, e_r = 0;
   for (int j = 0; j < i; j++) {
      if (arr[j] % 2 == 0)
         e_l++;
      else
         o_l++;
   }
   for (int k = n - 1; k > i; k--) {
      if (arr[k] % 2 == 0)
         e_r++;
      else
         o_r++;
   }
   if (e_r == e_l || o_r == o_l)
      cout<<i<<endl;
   }
   return 0;
}

出力

The array is : 4 3 2 1 2
The index of the element with the same count of even or odd numbers on both sides = 2

  1. C++で奇数と偶数のノードを含むすべてのレベルを出力します

    この問題では、ツリーが与えられます。そして、偶数のノードと奇数のノードを含むすべてのレベルを印刷する必要があります。 概念をよりよく理解するために例を見てみましょう 出力- Levels with odd number of nodes: 1, 3, 4 Levels with even number of nodes: 2 説明 −第1レベルには1つの要素(奇数)、第2レベルには2つの要素(偶数)、第3レベルには3つの要素(奇数)、第4レベルには1つの要素(偶数)が含まれます。 さて、この問題を解決するために。各レベルでノードの数を見つけ、それに応じて偶数-奇数レベルを出力す

  2. 除数の数が偶数か奇数かをチェックするPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −数値「n」を指定して、除数の総数が偶数または奇数であることを確認します。 このアプローチでは、すべての除数を見つけて、除数の数が偶数または奇数であることを確認します。 実装は以下のとおりです- 例 import math def countDivisors(n) :    count = 0    # calculating all the divisors    root=int(math.sqrt(n))+2 &nbs