题目:编写一个程序,对一个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 BP神经网络控制倒立摆
- ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
- ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
- ¥30 Unity接入微信SDK 无法开启摄像头
- ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
- ¥20 cad图纸,chx-3六轴码垛机器人
- ¥15 移动摄像头专网需要解vlan
- ¥20 access多表提取相同字段数据并合并
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算