1.使用vector模板

//编写一段程序,比较vector对象是否相等
//注:该例类似于一个【彩票游戏】 #include <iostream>
#include <ctime> //C++标准库,尾巴少了.h,头部多了c
#include <cstdlib> //C++标准库,尾巴少了.h,头部多了c
#include <vector> using namespace std; int main()
{
const int sz = ; //常量sz作为vector的容量
vector<int> V1, V2; //生成随机数种子
srand((unsigned)time(NULL)); //通过for循环为数组元素赋值 (局部变量i,随用随定义)
for (int i = ; i != sz; i++)
{
//每次循环生成一个3以内的随机数并添加到V1中
V1.push_back(rand() % );
} cout << "系统数据已经生成,请输入您猜测的3个数字(0~2),可重复:" << endl; int uVal;//用户输入值 //while (cin >> uVal) {} 最好使用for,强制把控只能输入5个数,"cin>>uVal"依然可以用作判断条件
for (int i = ; i != sz; i++)
{
if (cin >> uVal)
V2.push_back(uVal);
}
cout << "系统生成的数据是:" << endl;
for (auto val : V1)
{
cout << val << " ";
}
cout << endl; cout << "您猜测的数据是:" << endl;
for (auto val : V2)
{
cout << val << " ";
}
cout << endl; //比较两者是否相等
auto it1 = V1.cbegin(), it2 = V2.cbegin();//令p、q分别指向数组(向量)a和b的首指针
//注:cbegin引用不能修改原vector向量中的元素,而begin引用可以 while (it1 != V1.cend() && it2 != V2.cend())
{
if (*it1 != *it2)
{
cout << "您的猜测有误,两个数组不相等" << endl;//猜错提前结束
return -;
}
++it1;
++it2;
}
cout << "恭喜您全部猜对了!" << endl;
return ;
}

2.使用普通数组

//编写一段程序,比较两个数组是否相等
//注:该例类似于一个【彩票游戏】 #include <iostream>
#include <ctime> //C++标准库,尾巴少了.h,头部多了c
#include <cstdlib> //C++标准库,尾巴少了.h,头部多了c using namespace std; int main()
{
//数组维度要先确定,首先需要比较维度是否相等,这里简化问题,
//设定两个待比较数组的维度一致 const int sz = ; //常量sz作为数组的维度
int a[sz], b[sz]; //生成随机数种子
srand((unsigned)time(NULL)); //通过for循环为数组元素赋值 (局部变量i,随用随定义)
for (int i = ; i != sz; i++)
{
//每次循环生成一个10以内的随机数并添加到a中
a[i] = rand() % ;
}
cout << "系统数据已经生成,请输入您猜测的5个数组(0~9),可重复:" << endl; int uVal;//用户输入值 //while (cin >> uVal) {} 最好使用for,强制把控只能输入5个数,"cin>>uVal"依然可以用作判断条件
for (int i = ; i != sz; i++)
{
if (cin >> uVal)
b[i] = uVal;
}
cout << "系统生成的数据是:" << endl;
for (auto val : a)
{
cout << val << " ";
}
cout << endl; cout << "您猜测的数据是:" << endl;
for (auto val : b)
{
cout << val << " ";
}
cout << endl; //比较两者是否相等
int *p = begin(a), *q = begin(b);//令p、q分别指向数组a和b的首指针
while (p != end(a) && q != end(b))
{
if (*p != *q)
{
cout << "您的猜测有误,两个数组不相等" << endl;//猜错提前结束
return -;
}
++q;
++p;
}
cout << "恭喜您全部猜对了!" << endl;
return ;
}

参考资料:

1.《C++ Primer》中文版(第五版),Stanley B.Lippman等著,电子工业出版社

2.《C++ Primer》习题集(第五版),Stanley B.Lippman等著,电子工业出版社

最新文章

  1. Markdown学习
  2. WEB-INF目录下的文件访问权限(待解决)
  3. 6 个优秀的开源 OCR 光学字符识别工具
  4. zookeeper perl 版本需求
  5. 浅解ARC中的 __bridge、__bridge_retained和__bridge_transfer
  6. Unknown/unsupported storage engine: InnoDB
  7. Django 项目搭建(ubuntu系统)
  8. xpath无法获取值、返回值为[]或者{}的问题解决
  9. 初学python之路-day04
  10. react系列笔记:第三记-redux-saga
  11. synchronized同步方法《二》
  12. Word2010中如何在斜线表格中添加文字
  13. js动态添加未知新属性
  14. Node.js 常用命令
  15. python中的popitem
  16. (转)Ext.onReady详解
  17. [学习笔记]BSGS
  18. android基础----&gt;Fragment的使用
  19. 2015.10.9js(页面坐标)
  20. dao---service---action分层结构

热门文章

  1. python图片大小处理;
  2. 性能度量之Confusion Matrix
  3. Fluent Python: @property
  4. 自测之Lesson9:时钟与信号
  5. 《剑指offer》---两个栈实现队列
  6. angular4中使用jquer插件
  7. python 爬虫 糗百成人
  8. Gitkraken系列-Gitkraken使用操作
  9. DEDE去掉会员登录及注册验证码的方法
  10. mybatis小结-001