我的任务是:“你的任务是用值填充 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++,如果您的帮助描述性足以让我理解并以最简单的形式提供,那就太好了。
谢谢!
最佳答案
你可以做到
#include <iostream>
using namespace std;
int main(void) {
int matrix[11][11] = {};
for(int i = 1; i <= 10; i++) {
for(int j = 1; 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;
}
}
int[][]
可以用作 int**
所以矩阵可以被视为一个int**
并且 *(matrix + i)
与 matrix[i]
关于c++ - 使用指针C++为二维数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271026/