C++ 二维阵列初始化?
如何通过从用户获取数组元素来初始化2d数组C++ 二维阵列初始化?,c++,arrays,C++,Arrays,如何通过从用户获取数组元素来初始化2d数组 #include <iostream> using namepace std; int main() { int row, col; int arr[][]; for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << "Elements of Array :" <
#include <iostream>
using namepace std;
int main()
{
int row, col;
int arr[][];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cout << "Elements of Array :" << ' ';
cin >> arr[i][j];
}
}
return 0;
}
#包括
使用namepace-std;
int main()
{
int row,col;
int arr[][];
对于(int i=0;i|
以这种方式初始化时,必须指定2D数组的边界
假设行数和列数可用,将int-arr[][]
替换为int-arr[row][col]
可以解决您的问题
以下代码可能会有所帮助:
#include <iostream>
using namespace std;
int main()
{
int row, col;
cout << "Number of rows : ";
cin >> row;
cout << "Number of columns : ";
cin >> col;
int arr[row][col];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cout << "Enter value for row " << i << " column " << j << " : ";
cin >> arr[i][j];
}
}
cout << "Elements of Array :" << endl;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
#包括
使用名称空间std;
int main()
{
int row,col;
cout>行;
cout>col;
国际铁路[世界其他地区][col];
对于(int i=0;i不同于C++,C++不能用变量初始化数组;值必须固定。
与任何语言相关的问题一样,总是有一种方法可以绕过这个问题。
在这种情况下,最好的方法是使用指针并创建自己的动态数组
#include <iostream>
using namespace std;
int main()
{
int row, col;
cout << "Number of rows : ";
cin >> row;
cout << "Number of columns : ";
cin >> col;
//init the pointer array
int **arr =new int*[row] ;
for (int i = 0; i < row; i++)
{
arr[i] = new int[col];// init the columns for each row
for (int j = 0; j < col; j++)
{
cout << "Enter value for row " << i << " column " << j << " : ";
cin >> arr[i][j];
}
}
cout << "Elements of Array :" << endl;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
cout << arr[i][j] << " ";
}
}
cout << endl;
return 0;
}
#包括
使用名称空间std;
int main()
{
int row,col;
cout>行;
cout>col;
//初始化指针数组
int**arr=新int*[行];
对于(int i=0;i
你尝试过什么,为什么失败了?你考虑过在之前的数百个答案中搜索吗?需要更多关于你在做什么的详细信息#包括使用namepace std;int main(){int row,col;int arr[][];for(int i=0;将问题中的代码作为注释)。此外,您还需要指定是否要动态分配或不.int ARR [ROC] [COL];是否是有效的C++。C++不允许VLAs。虽然一些编译器支持此作为扩展。