C++ 中数组中满足 x < y 的 (x, y) 对的数量


给定一个整数数组,任务是计算使用给定数组值可以形成的 (x, y) 对的总数,使得整数 x 小于 y。

输入 − int arr[] = { 2, 4, 3, 1 }

输出 − 数组中满足 x < y 的 (x, y) 对的数量为 - 6

解释

XYX < Y
24
23
21
43
41
42
32
12
34
14
31
13

下面程序中使用的算法如下

  • 输入一个整数元素数组以形成对

  • 计算数组的大小,并将数据传递给函数以进行进一步处理

  • 创建一个临时变量 count 来存储 x 小于 y 的对

  • 从 i 为 0 开始,到数组大小结束,循环 FOR

  • 在循环内部,从 j 为 0 开始,到数组大小结束,循环 FOR

  • 在循环内部,检查 IF arr[i] < arr[j] == TRUE,则将 count 加 1

  • 返回 count

  • 打印结果

示例

 实时演示

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

输出

如果我们运行上面的代码,它将生成以下输出:

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

更新于: 2020-08-31

226 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告

© . All rights reserved.