c++ primer第五版(中文)习题答案 第三章第六节-多维数组
来源:互联网 发布:淘宝话费代理怎么做 编辑:程序博客网 时间:2024/04/30 11:07
本博客知识记录自己学习中的笔记或者记录,如果有错误欢迎大家纠正。
转载声明出处
多维数组 上数组 的数组
在使用范围for语句处理多维数组,除了最内层的循环外,其他所有循环的控制变量都应该使用引用类型。
int *ip[4] 表示 整形指针的数组
int (*ip) 表示 指向含有4个整数的数组
练习 3.43 编写3个不同版本的程序,令其均能输出ia的元素。
版本1 使用范围for语句管理迭代过程,
版本2 和版本3 都使用普遍版本的for语句,
其中版本2 要求用下标运算符,版本3要求用指针,此外,在所有3个版本的程序中都要直接写出数据类型,而不能用类型别名,auto 关键字或decltype关键字。
#include <iostream>#include <vector>int main(){ int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; //使用范围for for (int (&k)[4] : ia ) { for (int j : k ) { std::cout << j << " "; } } std::cout << std::endl; for (size_t i = 0; i != 3; i++) { for (size_t j = 0; j != 4;j++) { std::cout << ia[i][j] << " "; } } std::cout << std::endl; for (int(*p)[4] = ia; p != ia + 3;++p) { for (int *q = *p; q != *p + 4;++q) { std::cout << *q << " "; } } system("pause"); return 0;}
练习 3.44 改写上一个练习中的程序,使用类别别名来代替循环控制变量的类型。
#include <iostream>#include <vector>using namespace std;int main(){ int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; using int_array = int[4]; for (int_array& p : ia) for (int q : p) cout << q << " "; cout << endl; for (size_t i = 0; i != 3; ++i) for (size_t j = 0; j != 4; ++j) cout << ia[i][j] << " "; cout << endl; for (int_array* p = ia; p != ia + 3; ++p) for (int *q = *p; q != *p + 4; ++q) cout << *q << " "; cout << endl; system("pause"); return 0;}
练习3.45 在次改写程序,使用auto关键字。
#include <iostream>#include <vector>using namespace std;int main(){ int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; for (auto& p : ia) for (int q : p) cout << q << " "; cout << endl; for (size_t i = 0; i != 3; ++i) for (size_t j = 0; j != 4; ++j) cout << ia[i][j] << " "; cout << endl; for (auto p = ia; p != ia + 3; ++p) for (int *q = *p; q != *p + 4; ++q) cout << *q << " "; cout << endl; system("pause"); return 0;}
0 0
- c++ primer第五版(中文)习题答案 第三章第六节-多维数组
- c++ primer第五版(中文)习题答案 第三章第五节-数组
- c++ primer第五版(中文)习题答案 第十章第六节-特定容器算法
- c++ primer第五版(中文)习题答案 第二章第六节-自定义数据结构
- C++Primer 中文版 第五版 第六章课后习题答案
- c++ primer第五版(中文)习题答案 第十章第四节第三小节-反向迭代器
- c++ primer第五版(中文)习题答案 第三章第二节-标准库类型string
- C++Primer 中文版 第五版 第三章课后习题答案
- C++Primer中文(第五版)习题答案(英文)
- C++Primer第五版 第六章习题答案(1~10)
- C++Primer第五版 第六章习题答案(11~20)
- C++Primer第五版 第六章习题答案(31~40)
- C++Primer第五版 第六章习题答案(21~30)
- C++Primer第五版 第六章习题答案(41~50)
- C++Primer第五版 第六章习题答案(51~56)
- c++ primer第五版(中文)习题答案 第三章第一节-命名空间using声明
- c++ primer第五版(中文)习题答案 第十章第二节第三小节-重排容器元素的算法
- C++Primer(第五版) 习题答案
- 第一个程序:Hello World
- NodeJS中使用 eventproxy 控制并发-@JacksonTian
- 【黑马程序员】第四章:面向对象(下)
- 114.Oracle数据库SQL开发之 PLSQL编程——变量和类型
- 荣誉勋章 win7下无法正常运行解决方案
- c++ primer第五版(中文)习题答案 第三章第六节-多维数组
- 泛型通配符
- ubuntu环境下安装R
- 115.Oracle数据库SQL开发之 PLSQL编程——循环
- ServletContext对象
- Socket 通信原理机制
- Android Studio打包.so文件教程
- 几个主流的Java连接池整理 (转) (2012-01-04 23:48:02)转载▼
- 远程桌面链接命令