【发布时间】:2018-10-20 14:44:00
【问题描述】:
我有一个任务说:“你的任务是用将把它变成乘法表的值填充 10x10 矩阵。你不能使用括号。你不能使用索引。所以,你必须使用指针。”
输出应该如下: 10x10 multiplication table
这就是我最终得到的解决方案:
#include <iostream>
using namespace std;
int main(void) {
int matrix[10][11] = {};
for(int i = 0; i <= 10; i++) {
for(int j = 0; j <= 10; j++) {
matrix[i-1][j-1]= i*j;
}
}
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
cout.width(4);
cout << matrix[i][j]; }
cout << endl;
}
}
我试图考虑如何使用指针而不是索引,但我可以找到有关如何将指针与二维数组一起使用的任何信息。
我刚开始学习 C++,如果您的帮助描述性足以让我理解并且以最简单的形式提供,那就太好了。
谢谢!
【问题讨论】:
-
matrix[i-1][j-1]如果i和j都是0,这会产生什么元素索引? -
You mustn't use brackets这有点模棱两可 -
如果只有 10 行和 10 列,为什么需要 10x11 矩阵
-
不久前我写了一个tutorial 用于介绍取消引用和数组索引语法之间的关系的 CS 类。它还解释了如何理解如何在逐步取消引用多维数组/多级指针的同时识别“你在哪里”以及你拥有什么类型。请特别参阅取消引用部分。
标签: c++ arrays pointers matrix multidimensional-array