Trong bài toán này, chúng ta sẽ xem làm thế nào chúng ta có thể nhận được sự khác biệt tuyệt đối giữa các phần tử của mỗi cặp phần tử trong một mảng. Nếu có n phần tử, mảng kết quả sẽ chứa n-1 phần tử. Giả sử các phần tử là {8, 5, 4, 3}. Kết quả sẽ là | 8-5 | =3 thì | 5-4 | =1, | 4-3 | =1.
Thuật toán
pairDiff (arr, n)
begin res := an array to hold results for i in range 0 to n-2, do res[i] := |res[i] – res[i+1]| done end
Ví dụ
#include<iostream> #include<cmath> using namespace std; void pairDiff(int arr[], int res[], int n) { for (int i = 0; i < n-1; i++) { res[i] = abs(arr[i] - arr[i+1]); } } main() { int arr[] = {14, 20, 25, 15, 16}; int n = sizeof(arr) / sizeof(arr[0]); int res[n-1]; pairDiff(arr, res, n); cout << "The differences array: "; for(int i = 0; i<n-1; i++) { cout << res[i] << " "; } }
Đầu ra
The differences array: 6 5 10 1