题目:编写一个程序,对一个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; }
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2018-11-25 06:51回答 1 已采纳 `如果问题得到解决,请点我回答左上角的采纳按钮和向上的箭头` ``` #include using namespace std; template int count(int *
- 2020-10-26 15:29回答 2 已采纳 我这运行都是4啊,看下图 另:你第二个for循环里 i 没有定义 ,就是取了第一行的行地址,然后+1个,指向了这一行的第二个元素,最后 * 取出里边的内容就是20 而( * p)[2]则是首先取了第一行的行地址,然后+2取内容
- 2020-06-16 15:49明天会比今天更好的博客 因此希望这些观点能帮助你们,了解如何规划一个程序的细节。(我还没有看到过一篇讲关于如何规划整个事情的好文章,不过这部分可以是课程的一部分)要是能发现它们的特质,那很好;要是不认同的话,那也很好。但如果...
- 2021-05-20 12:16weixin_39883079的博客 (不需要编程)写入数据的时候,写入的是123,作为一个数处理的。将printf("%d%d\n",k,n); 改成printf("%d %d\n",k,n); 两个输出之间版加个空格,那么输出的权结果是123 0,也就是dl中的123是给的k,n的值并没有发生...
- 2020-10-03 17:25张巧龙的博客 点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随...
- 2022-03-18 18:08回答 3 已采纳 传入的参数是一个指针,不是原数组,所以求出的len不对
- 2018-06-06 09:34回答 6 已采纳 K指向的是数组name的首地址 , 而这个首地址是一个指针的地址 , 也就是一个指针. 这个指针最终指向内容"java" ,就相当于: char *a ="java"; char *b = a;
- 2021-11-03 12:47回答 2 已采纳 p-a就是两个指针地址相减,得到的是p和a之间的字符串长度a指向数组起始位置,p一直在向数组尾部移动,p-a<n表示p还没有移动到数组最后一个元素。因为数组长度是n选B,s表示当前最大元素值的地
- &再见萤火虫&的博客 一,题目描述 原题链接287. 寻找重复数 英文描述 Given an array of integers nums containingn + 1 integers where each integer is in the range [1, n] inclusive. There is only one duplicate number in ...
- 2022-04-27 18:47小羊失棉了i的博客 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。 输出格式: 每个测试...
- 2019-12-04 13:05你真好看678的博客 我们鼓励在编程时应有...因此希望这些观点能帮助你们,了解如何规划一个程序的细节。(我还没有看到过一篇讲关于如何规划整个事情的好文章,不过这部分可以是课程的一部分)要是能发现它们的特质,那很好;要是不认...
- 2015-12-05 15:26回答 4 已采纳 数组vex是存放了各个链表的头节点吧,那么在循环中vex[i] = *vex[i].next;,就把头结点的next变为结尾了, 破坏了链表。 第二种用的是临时指针,则不会破坏链表结构。
- 2017-11-28 15:19回答 3 已采纳 int*(*c) [3]=&b; 首先c先与 * 结合,故此c是一个指针,这个指针指向一个数组,这个数组里面放了3个int * 型的元素。
- 2016-12-20 11:31回答 5 已采纳 delete q不能这么写 只能整体释放P 要不然你用链表
- 2019-08-30 11:26DreamCoders的博客 前两天PHP中文网举办了一个分享编程学习心得送书的活动,我看这本书感觉挺不错的,网上查了下要100多,就也参加了。最近比较穷,能不花钱的就不花钱了。呜呜呜。。。下面给大家分享下,众多小伙伴的编程心得,希望对...
- 2019-04-25 16:36weixin_30897233的博客 这个作业属于那个课程 C语言程序设计2 这个作业要求在哪里 2019年春季学期第九周作业 ...本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。 函数接口定义: int set_grade( ...
- 2019-06-02 16:56喜欢打篮球的普通人的博客 1、 一个C++源文件从文本到可执行文件经历的过程 对于C/C++编写的程序,从源代码到可执行文件,一般经过下面四个步骤: 1).预处理,产生.ii文件 2).编译,产生汇编文件(.s文件) 3).汇编,产生目标文件(.o或.obj文件)...
- 2021-09-10 15:57回答 6 已采纳 #include <iostream> using namespace std; int main() { const char *p[5] = { "abc","def",
- 2022-04-22 15:32温柔说给风的博客 L2-001 紧急救援 最短路+路径打印 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度...
- 没有解决我的问题, 去提问