帮助澄清我的老师要求我如何处理多维数组(c++)
Assistance with clarifying what my teacher is asking me to do with multidimentional arrays(c++)
我正在为我的课程做编程作业。在这个程序中,我们必须编程一个形状,我们可以使用鼠标四处移动。我使用的是eclipse,它运行在oracleVM上(使用linuxmint)。现在,我的教授在给定的文件中添加了一些评论,为我们指明了正确的方向,但有一条评论我无法理解。评论是:
TODO:编写默认构造函数和构造函数以获取16个参数,a00,a01,。。。,a10、a11等。通过a33初始化a.1参数x初始化对角线值a[0][0]、a[1][1]、a[2][2]、a[3][3]。所有其他0。默认构造函数应该像传递1初始化对角线一样初始化它
我问过他,但仍然很困惑,我无法很快得到教授的回复。我得到了关于构建阵列的部分,它会像:
a[4][4] = {.....};
但我不明白指令是怎么说的。我想知道是否有人可以看看说明书,并根据说明书告诉我这是否正确(这可能是错误的,但这就是我想到的):
int a[4][4] = {(0,0), (0,1),(0,2),(0,3),(0,4),
(0,5), (0,6),(0,7),(0,8),(0,9),
(1,0), (1,1),(1,2),(1,3),(1,4),
(1,5), (1,6),(1,7),(1,8),(1,9),
(2,0), (2,1),(2,2),(2,3),(2,4),
(2,5), (2,6),(2,7),(2,8),(2,9),
(3,0), (3,1),(3,2),(3,3),(3,4),
(3,5), (3,6),(3,7),(3,8),(3,9),
(4,0), (4,1),(4,2),(4,3),(4,4)
};
我知道你可能可以像我一样做一个循环来分配值,但我只是想得到一个视觉效果,因为指令上写着:
初始化对角线值a[0][0]、a[1][1]等
也许我对说明书的解读太多了,在本不应该让人困惑的时候却让自己困惑。谢谢
您被要求编写三个构造函数。
第一个取16个参数,并相应地初始化所有16个元素。
第二个采用1个参数,将对角线元素设置为该值,并将所有其他元素设置为零。
第三个不带参数,将对角线元素设置为1,将所有其他元素设置为0。
请注意,共有16个元素,而不是25个。就像声明为的数组一样
int a[4];
具有四个元素a[0]
、a[1]
、a[2]
和a[3]
,但没有元素a[4]
,同样是一个声明为的数组
int a[4][4];
具有16个元素并且没有元素a[0][4]
。
听起来他希望在构造函数中将一个4x4数组的所有值(对角线除外)都设置为0。可以这样做:
int array[4][4];
for(int i=0;i<4;i++){
for(int u=0;u<4;u++){
array[i][u] = (i == u ? 1 : 0);
}
}
或者你可以把它全部写在构造函数中:
int array[4][4] = {
{1,0,0,0},
{0,1,0,0},
{0,0,1,0},
{0,0,0,1}
};
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 用于矢量处理的多个线程
- 对字符串进行排序时,在c++中处理sort()
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 处理除以零会导致<csignal>意外行为
- 是否可以在c++中处理字符串流中的各个元素
- 在多个核心中处理一个HTTP请求