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

Đếm các cặp (x, y) trong một mảng sao cho x


Chúng ta được cung cấp một mảng số nguyên và nhiệm vụ là đếm tổng số cặp (x, y) có thể được tạo thành bằng cách sử dụng các giá trị mảng đã cho sao cho giá trị nguyên của x là nhỏ hơn y.

Đầu vào - int arr [] ={2, 4, 3, 1}

Đầu ra - Đếm các cặp (x, y) trong một mảng sao cho x

Giải thích -

X Y X
2 4 true
2 3 true
2 1 false
4 3 false
4 1 false
4 2 false
3 2 false
1 2 true
3 4 true
1 4 true
3 1 false
1 3 false

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập một mảng các phần tử số nguyên để tạo thành một cặp

  • Tính toán kích thước của một mảng, truyền dữ liệu vào hàm để xử lý thêm

  • Tạo một số biến tạm thời để lưu trữ các cặp có x nhỏ hơn y

  • Bắt đầu vòng lặp FOR từ i đến 0 cho đến hết kích thước của một mảng

  • Bên trong vòng lặp, bắt đầu một vòng lặp FOR khác từ j đến 0 cho đến khi kích thước của một mảng

  • Bên trong vòng lặp, kiểm tra IF arr [i]

  • Trả lại số lượng

  • In kết quả

Ví dụ

#include <iostream>
using namespace std;
int X_Less_Y(int arr[],int size){
   int count = 0;
   for (int i = 0; i < size; i++){
      for (int j = 0; j < size; j++){
         if (arr[i] < arr[j]){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = { 2, 4, 3, 1 };
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of pairs (x, y) in an array such that x < y are: "<<X_Less_Y(arr, size);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count of pairs (x, y) in an array such that x < y are: 6