qq_42818573 2018-11-25 06:51 采纳率: 75%
浏览 497
已采纳

[求助]一个C++题目(数组 指针)

题目:编写一个程序,对一个int数组中的任意两个元素按多种条件计数。例如:计算有多少对元素互为相反数,计算有多少对元素相邻(相差1)。要求编写一个通用函数,可用Lambda表达式描述不同条件

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-25 07:09
    关注

    如果问题得到解决,请点我回答左上角的采纳按钮和向上的箭头

    #include <iostream>
    using namespace std;
    
    template <typename F>
    int count(int * a, int * b, int na, int nb, F const& pred) {
        int x = 0;
        for (int i = 0; i < na; i++)
            for (int j = 0; j < nb; j++)
                if (pred(a[i], b[j])) x++;
        return x;
    }
    
    int main() {
    
        int a[3] = { 1, 3, 31 };
        int b[2] = { 13, 2 };
        int n1 = count(a, b, 3, 2, [](int a, int b) -> int {
            return a - b == 1 || a - b == -1;
        });
        int n2 = count(a, b, 3, 2, [](int a, int b) -> int {
            return a % 10 == b / 10 && a / 10 == b % 10;
        });
        cout << n1 << endl;
        cout << n2 << endl;
    }
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置