homework-06
1. 了解Lambda的用法
计算“Hello World!”中
nclude <algorithm> #include <iostream> #include <vector> using namespace std;int main() {char *buf = "Hello World!";// Create a vector object that contains 10 elements.vector<char> v;for (int i = 0; i < strlen(buf); ++i) {v.push_back(buf[i]);}// Count the number of even numbers in the vector by // using the for_each function and a lambda.int eCount = 0;int lCount =0 ;for_each(v.begin(), v.end(), [&eCount,&lCount] (char ch) {if (ch == 'e') {eCount++;}else if (ch == 'l') {lCount++;}});// Print the count of even numbers to the console.cout << "There are " << eCount << " e in the vector." << endl;cout << "There are " << lCount << " l in the vector." << endl;system("pause"); }
2. 练习使用智能指针
打印“Hello World!”循环右移n位的结果
Example:
n = 1, output = “!Hello World”
n = 3, output = “ld!Hello Wor”
#include<iostream> #include<string.h> #include<stdlib.h> using namespace::std;int main() {int n;char str[]="Hello world!";//insert n.cin>>n;char *p = str + strlen(str) - n;cout<<p;*p = 0;cout<<str<<endl;system("pause"); }
3.围棋游戏
1、playPrev
返回则先要将本棋子移除,返回到上一个棋子的内容,并且判断当前子去掉之前是否有使对方子被吃掉的现象,如果有,获取数据并恢复,最后遍历棋盘更新。
public void playPrev(GoMove gm){int i = gm.Point.X;int j = gm.Point.Y;Grid[i,j].removeStone();m_gmLastMove = gameTree.peekPrev();if (m_gmLastMove != null)Grid[m_gmLastMove.Point.X,m_gmLastMove.Point.Y].setUpdated();if (gm.DeadGroup != null){System.Collections.IEnumerator myEnumerator = gm.DeadGroup.GetEnumerator();while (myEnumerator.MoveNext()){Point p; p = (Point)myEnumerator.Current;Grid[p.X,p.Y].setNoKilled();Grid[p.X,p.Y].setStone(nextTurn(gm.Color));}}optRepaint();return; }
2、点评一下这个程序设计方面的不足
本人水平较渣,除了错误处理基本没有外还真没看出什么缺点·····
3、程序的注释
详见代码
转载于:https://www.cnblogs.com/jun1022/p/3440526.html
homework-06相关推荐
- USTC 2011 homework list [现代软件工程 作业]
这是现代软件工程课的作业列表 (每周更新), 作业分为: 个人项目 Individual Project: 一个人独立完成 结对项目 Pair Project: 一对同学用结对编程的方法完成 团队项目 ...
- 06 面向对象之:反射,双下方法
一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...
- 【跃迁之路】【495天】程序员高效学习方法论探索系列(实验阶段252-2018.06.15)...
@(跃迁之路)专栏 实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. ...
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论 创建用户自定义的类加载器 要创建用户自定义的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的f ...
- 【跃迁之路】【425天】刻意练习系列184—SQL(2018.04.06)
@(跃迁之路)专栏 叨叨两句 技术的精进不能只是简单的刷题,而应该是不断的"刻意"练习 该系列改版后正式纳入[跃迁之路]专栏,持续更新 刻意练习--MySQL 2018.04.02 ...
- OD使用教程6 - 调试篇06|解密系列
OD使用教程6 - 调试篇06 让编程改变世界 Change the world by program 这一讲开始,小甲鱼带大家接触真正程序的逆向.其实也没啥大不了的,也就是对之前所学的知识进行巩 ...
- 【青少年编程】【Scratch】06 侦测模块
06 侦测模块 侦测模块是用来检测场景中某一参数的变化,通过参数变化来为下一步操作提供运行依据.通常与控制模块中的条件语句和循环语句一起使用. 具体分为: 与运动相关的侦测: 与按键相关的侦测: 侦测 ...
- 06 Scratch等级考试(一级)模拟题
Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复[Scratch],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载"可获取以往学习 ...
- 数据结构与算法:06 线性表
06 线性表 知识结构: 1. 线性表的定义与操作 1.1 线性表的定义 线性表(Linear List)是由n(n≥0)n (n≥0)n(n≥0)个相同类型的数据元素a0,a1,⋯,an−1a_0, ...
- linux深度定制,Linux Deepin 12.06 beta1 发布
反馈如下: 1) Linux Deepin 12.06 beta1 中文简体和繁体版本,默认安装后,主题有点问题,即默认的Metacity左上角的菜单背景色与文字的颜色都是白色,只有鼠标移经过时高亮才 ...
最新文章
- 天空之城(君をのせて)主题曲
- 数据中心的未来:低成本、更清洁、更高效
- XCTF WEB xff_referer
- 40 | 案例篇:网络请求延迟变大了,我该怎么办?
- 全球唯一标识GUID
- 《C++ Primer》14.3节练习
- 新手网页设计提高设计水平的法宝,临摹练习!
- 文章采集伪原创工具_伪原创文章技巧(如何提高伪原创文章的原创度)
- 计算机专业基础融合,【计算机专业论文】计算机专业产教融合转型发展模式探析(共2546字)...
- VMware虚拟机设置(vmtools分辨率)
- PAIP.手机sms短信,联系人的同步与备份.txt
- 20科大考研经验分享-数学
- DeepFaceLab AI换脸使用教程(1.安装及分解视频)
- 数据库在一对一、一对多、多对多怎么设计表关系
- Android基础Activity篇——创建一个活动(Activity)
- dubbo源码分析23 -- provider 接收与发送原理
- 自定义指令,实现默认头像和用户上传头像的切换
- python画国际象棋_python用turtle画国际象棋棋盘
- 【步兵 cocos2dx】热更新(下)
- Photoshop实用技巧教程
热门文章
- ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查
- 常用的JS与XML结合用法 简单示例
- 周鸿祎:有的人在25岁时就死了,但在75岁时才被埋葬
- Kubernetes的client-go库介绍
- 删除网络信息服务器端,网络安全:手动清除gh0st远控服务端
- matlab与r语言函数对照表,R语言与matlab循环时间对比
- Win7 Tortoise SVN安装异常--please install the universal crt first.You can .. windows-update(Kb2999226)
- 扩展-视图 View
- java run() 返回值_java线程的run()没有返回值怎么办?
- 剑指offer面试题68 - II. 二叉树的最近公共祖先(递归)