028:简单的foreach

028:简单的foreach

总时间限制: 1000ms 内存限制: 65536kB

描述

编写MyForeach模板,使程序按要求输出 不得编写 MyForeach函数

#include <iostream>
#include <string>
using namespace std;
// 在此处补充你的代码
void Print(string s)
{cout << s;
}
void Inc(int & n)
{++ n;
}
string array[100];
int a[100];
int main() {int m,n;while(cin >> m >> n) {for(int i = 0;i < m; ++i)cin >> array[i];for(int j = 0; j < n; ++j)cin >> a[j];MyForeach(array,array+m,Print);		 cout << endl;MyForeach(a,a+n,Inc);		 for(int i = 0;i < n; ++i)cout << a[i] << ",";cout << endl;}return 0;
}

输入

多组数据

每组数据第一行是两个整数 m 和 n ,都不超过 50

第二行是m个不带空格的字符串
第三行是 n个整数

输出

对每组数据
第一行输出所有输入字符串连在一起的结果
第二行输出输入中的每个整数加1的结果

样例输入

3 4
Tom Mike Jack
1 2 3 4
1 2
Peking
100 200

样例输出

TomMikeJack
2,3,4,5,
Peking
101,201,

来源

Guo Wei

样例通过代码:

要点:
  1. 保证类型一致
  2. 保证用法与类型一致
template <class T1, class T2>
void MyForeach(T1 start, T1 end, T2 func)
{T1 t;for (t = start; t < end; ++t){func(*t);}
}
template <class T1,class T2>
void MyForeach(T1* startptr,T1* endptr,T2* tempprint)
{T1* temp;for(temp = startptr;temp != endptr;temp++)(*tempprint)(*temp);return;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试经典150 | 二叉树】对称二叉树

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;递归方法二&#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的…

第6讲、Hyper-V体系结构和相关管理程序文件及服务:

1、Hyper-V的体系结构 1、CPU能力在服务器虚拟化实现中扮演着一个重要角色&#xff0c;Intel/AMD型号的CPU定义了一些权限 级别&#xff0c;称为ring。在传统模型中&#xff0c;ring0级别最高权限最大。Windows内核和设备驱动程序 使用这个级别…

【优选算法系列】【专题一双指针】第三节.611. 有效三角形的个数和LCR 179. 查找总价格为目标值的两个商品

文章目录 前言一、有效三角形的个数 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、查找总价格为目标值的两个商品 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 …

0008-【PID学习笔记 8 】控制系统的分析方法

写在前面 前面已经完成了控制系统的性能指标学习&#xff0c;从这节开始继续学习控制系统的分析方法&#xff0c;本文重点介绍分析方法概述和时域分析法。 一、控制系统的基本分析方法 控制系统的基本分析方法包括&#xff1a; 古典方法&#xff08;经典控制理论&#xff09;…

独孤思维:赚钱需要独一无二的支点,而不是技多不压身的堆料

赚钱需要找到属于自己独一无二&#xff0c;且超乎常人的支点&#xff0c;而不应该一味追求大而全&#xff0c;技多不压身的堆料。 凡是考了一堆证书&#xff0c;以为掌握多项技能&#xff0c;就能赚到钱的都是学生思维。 尤其是很多刚入职场的年轻人&#xff0c;为了职场晋升…

2024山东健博会,济南健康展,5月中国大健康展,健康管理展

China-DJK山东健博会&#xff1a;5月黄金招商季&#xff0c;携千家参展商、万余款产品精彩亮相&#xff1b; DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会 The 2024 sixth China (Jinan) International Big Health Industry Expo 时间&#xff1a;2024…

LLaMA-Factory微调ChatGLM3报错: Segmentation fault (core dumped)

SFT训练模型的命令 CUDA_VISIBLE_DEVICES0 python src/train_bash.py \--stage sft \--model_name_or_path models/chatglm3-6b \--do_train \--dataset self_cognition \--template chatglm3 \--finetuning_type lora \--lora_target query_key_value \--output_dir output/c…

Docker网络原理

Docker网络概述 1.桥接模式介绍 bridge模式是docker的默认网络模式。 桥接模式是一种用于连接两个不同网络段的设备&#xff0c;使它们能够共享通信的一种方式。 桥接设备工作在OSI模型的第二层&#xff0c;即数据链路层&#xff0c;通常基于MAC地址进行帧转发。 物理层连接…

一个简单的 postman设置接口关联让我措施了大厂的机会

postman设置接口关联 在实际的接口测试中&#xff0c;后一个接口经常需要用到前一个接口返回的结果&#xff0c; 从而让后一个接口能正常执行&#xff0c;这个过程的实现称为关联。 在postman中实现关联操作的步骤如下&#xff1a; 1、利用postman获取上一个接口指定的返回值…

YOLOv8 YoLov8l 模型输出及水果识别

&#x1f368; 本文为[&#x1f517;365天深度学习训练营学习记录博客 &#x1f366; 参考文章&#xff1a;365天深度学习训练营 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] &#x1f680; 文章来源&#xff1a;[K同学的学习圈子](https://www.yuque.com/m…

LeetCode双指针:有序数组中的单一元素

LeetCode双指针&#xff1a;有序数组中的单一元素 题目描述 给你一个仅由整数组成的有序数组&#xff0c;其中每个元素都会出现两次&#xff0c;唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复…

关于什么是 JVM

关于什么是 JVM&#xff0c;看看普通⼈和⾼⼿的回答。 普通人 JVM 就是 Java 虚拟机&#xff0c;是⽤来运⾏我们平时所写的 Java 代码的。优点是它会 ⾃动进⾏内存管理和垃圾回收&#xff0c;缺点是⼀旦发⽣问题&#xff0c;要是不了解 JVM 的运⾏ 机制&#xff0c; 就很难…

是谁还没玩AI扩图?快跟上节奏啦

最近&#xff0c;抖音上的AI扩图突然火了&#xff0c;看完真的让人笑掉大牙&#xff5e;&#xff5e;&#xff5e; 这一热议的话题#AI扩图#在短视频平台抖音上的播放量已经突破7.8亿次&#xff0c;而相关的讨论也如同星火燎原&#xff0c;迅速点燃了公众的好奇心。从“用AI扩图…

中伟视界:皮带跑偏、异物检测AI算法除了矿山行业应用,还能在钢铁、火电、港口等行业中使用吗?

随着工业化的发展&#xff0c;皮带输送机已经成为各行业中不可或缺的重要设备&#xff0c;但是在使用过程中&#xff0c;由于各种原因&#xff0c;皮带常常出现跑偏问题&#xff0c;给生产运营带来了诸多困扰。不仅仅是矿山行业&#xff0c;钢铁、火电、港口等行业也都面临着皮…

C语言 扫雷游戏

代码在一个项目里完成&#xff0c;分成三个.c.h文件(game.c,game.h,main.c) 在Clion软件中通过运行调试。 /大概想法/ 主函数main.c里是大框架(菜单,扫雷棋盘初始化&#xff0c;随机函数生成雷&#xff0c;玩家扫雷) game.h函数声明(除main函数和游戏函数外的一些函数声明) ga…

RepidJson将内容写入文件

使用 RapidJSON 将内容写入文件的步骤如下&#xff1a; 创建一个 rapidjson::Document 对象&#xff0c;将需要写入文件的内容存储到其中。创建一个 rapidjson::StringBuffer 对象来保存 JSON 字符串。将 rapidjson::Document 对象转换为 JSON 字符串&#xff0c;并将其放入 r…

日志打印传值 传引用 右值引用性能测试

结论 ubuntu x86平台qnx平台优化传值都是比传引用的差 但是差距很小 测试代码 #include <cstdint> #include <ctime> #include <string>#ifdef __linux__#define ITERATIONS 10000000 #else#define ITERATIONS 100000 #endiftemplate <typename... AR…

rust高级 异步编程 一 future

文章目录 Async 编程简介async/.await 简单入门 Future 执行器与任务调度Future 特征使用 Waker 来唤醒任务构建一个定时器执行器 Executor构建执行器 完整代码 Async 编程简介 OS 线程, 它最简单&#xff0c;也无需改变任何编程模型(业务/代码逻辑)&#xff0c;因此非常适合作…

Linux设置root初始密码

目录 一、Linux系统中普通用户和特权用户&#xff08;root&#xff09; 二、Linux系统中设置root初始密码 一、Linux系统中普通用户和特权用户&#xff08;root&#xff09; windows 系统中有普通用户和特权用户&#xff0c;特权用户是 administer&#xff0c;普通用户可以…

mybatisplus调用oracle存储过程

mybatisplus调用oracle存储过程 创建一个测试的oracle存储过程 -- 创建携带返回值存储过程 CREATE OR REPLACE PROCEDURE SP_SUM_PROC_2023(number1 IN NUMBER, number2 IN NUMBER, result OUT NUMBER,result2 OUT NUMBER) is BEGIN result : number1 number2; result2 : 99…