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

C ++の配列内の偶数と奇数のインデックス付き要素の絶対差?


配列は、同じデータ型の複数の要素のコンテナです。要素のインデックスは0から始まります。つまり、最初の要素のインデックスは0です。

この問題では、2つの偶数のインデックス付き数値と2つの奇数のインデックス付き数値の絶対差を見つける必要があります。

インデックス付きの数値でも=0,2,4,6,8…。

奇数のインデックス番号=1,3,5,7,9…

絶対差は、2つの要素間の差の係数です。

たとえば、

15と7の絶対差=(| 15-7 |)=8

Input: arr = {1 , 2, 4, 5, 8}
Output :
Absolute difference of even numbers = 4
Absolute difference of odd numbers = 3

説明

要素も1、4、8

絶対差は

(| 4 --1 |)=3および(| 8-4 |)=4

奇数要素は2,5

です

絶対差は

(| 5- 2 |)=3

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = { 1, 5, 8, 10, 15, 26 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The array is : \n";
   for(int i = 0;i < n;i++){
      cout<<" "<<arr[i];
      int even = 0;
      int odd = 0;
      for (int i = 0; i < n; i++) {
         if (i % 2 == 0)
            even = abs(even - arr[i]);
         else
            odd = abs(odd - arr[i]);
      }
      cout << "Even Index absolute difference : " << even;
      cout << endl;
      cout << "Odd Index absolute difference : " << odd;
      return 0;
   }
}

出力

The array is :
1 5 8 10 15 26
Even index absolute difference : 8
Odd index absolute difference : 21

  1. 配列内のすべてのペアワイズ連続要素の絶対差(C ++)?

    この問題では、配列内の要素の各ペアの要素間の絶対差を取得する方法を確認します。 n個の要素がある場合、結果の配列にはn-1個の要素が含まれます。要素が{8、5、4、3}であると仮定します。結果は|8-5|になります=3、次に| 5-4 | =1、| 4-3 |=1。 アルゴリズム pairDiff(arr、n) begin    res := an array to hold results    for i in range 0 to n-2, do       res[i] := |res[i] – res

  2. C++でのstd::vectorとstd::arrayの違い

    ベクトルと配列の違いは次のとおりです- Vectorは、インデックスベースではなく要素を格納するためのシーケンシャルコンテナです。 配列は、同じタイプの要素の固定サイズの順次コレクションを格納し、インデックスベースです。 ベクトルは本質的に動的であるため、要素を挿入するとサイズが大きくなります。 アレイは固定サイズであるため、一度初期化するとサイズを変更できません。 ベクターはより多くのメモリを占有します。 配列はメモリ効率の高いデータ構造です。 ベクターは要素へのアクセスに時間がかかります。 要素は連続したメモリ割り当てに配置されるため、場所に関係なく一定時間で要素にアクセスできます。