Computer >> Máy Tính >  >> Lập trình >> C ++

Sự khác biệt tuyệt đối của các phần tử được lập chỉ mục chẵn và lẻ trong một mảng trong C ++?

Mảng là một vùng chứa nhiều phần tử của cùng một kiểu dữ liệu. Chỉ mục của các phần tử bắt đầu từ 0 tức là phần tử đầu tiên có chỉ số 0.

Trong bài toán này, chúng ta cần tìm sự khác biệt tuyệt đối giữa hai số được lập chỉ mục chẵn và hai số được lập chỉ mục lẻ.

Số chẵn được lập chỉ mục =0,2,4,6,8….

Số lẻ được lập chỉ mục =1,3,5,7,9…

Chênh lệch tuyệt đối là môđun của sự khác biệt giữa hai yếu tố.

Ví dụ,

Chênh lệch tuyệt đối của 15 và 7 =(| 15 - 7 |) =8

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

Giải thích

Các phần tử chẵn là 1, 4,8

Sự khác biệt tuyệt đối là

(| 4 - 1 |) =3 và (| 8 - 4 |) =4

Các phần tử lẻ là 2,5

Sự khác biệt tuyệt đối là

(| 5- 2 |) =3

Ví dụ

#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;
   }
}

Đầu ra

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