gpt4 book ai didi

c++ - 创建由 C++ 中的参数输入指定大小的矩阵(二维数组)

转载 作者:行者123 更新时间:2023-12-02 18:03:49 28 4
gpt4 key购买 nike

我正在学习 C++,主要是 Python、R 和 SQL 方面的经验。

数组(以及与一维数组有所不同的 vector ?以及二维数组的矩阵?)在 C++ 中的工作方式似乎完全不同,因为我无法使用函数的参数指定数组的维数大小。

我的目标的一个玩具示例是这样的:

  1. 有一个函数my_2d_array,它接受两个参数MN并返回维度为的矩阵或二维数组>(MxN),其中元素指示该元素的位置。例如。调用 my_2d_array(4,3) 将返回:

    [[00, 01, 02],
    [10,11,12],
    [20,21,22],
    [30, 31, 32]]

  2. ma​​in 函数应执行 my_2d_array 并能够对结果执行计算或对其进行修改。

这是我的尝试(有错误):

int my_2d_array(int N, int M) {
int A[N][M];

for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
std::string element = std::to_string(i) + std::to_string(j);
A[i][j] = element;
}
}
return A;
}


void main() {
int N, M;
N = 4;
M = 3;

int A[N][M] = my_2d_array(N, M);

// Print the array A
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
std::cout << A[i][j] << " ";
}
std::cout << "\n";
}

}

@JustLearning 建议的一 (1) 维尝试:

int my_array(int N) {
std::array<int, N> A;

for (int i = 0; i < N; i++) {
A[i] = i;
}
return A;
}


int main() {
int N = 4;

int A[N] = my_array(N);

// Print the array A
for (int i = 0; i < N; i++) {
std::cout << A[i] << " ";
}

}

最佳答案

您可以使用这样的二维 vector

vector<vector int> A;

它的工作方式与二维数组相同

关于c++ - 创建由 C++ 中的参数输入指定大小的矩阵(二维数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73757090/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com