我正在尝试编写一个C++
程序,它将在运行时获取用户定义的列数并创建一个二维数组,该数组将具有
列 = 在运行时给出
行 = 3列
我应该如何初始化一个二维数组,其中行和列最初不是常量。任何链接或教程帮助将不胜感激。
我正在尝试编写一个C++
程序,它将在运行时获取用户定义的列数并创建一个二维数组,该数组将具有
列 = 在运行时给出
行 = 3列
我应该如何初始化一个二维数组,其中行和列最初不是常量。任何链接或教程帮助将不胜感激。
I think you are looking for dynamic multi-dimensional arrays. Googlefu should help, leads to this article:
http://www.cplusplus.com/forum/beginner/63/
Look near the bottom.
您向我们提供了一些信息,我猜您是在要求一个 C++ 代码,它首先从用户那里获取列号,然后根据公式计算行,最后创建一个二维数组,对吧?
给出的公式:行 = 3列。
我为你写了一个 C++ 代码
我已经在我的 linux( ubuntu ) 平台上测试了这段代码,我希望这就是你要问的。
#include <iostream>
#include<math.h>
#define kary 3 // Your k-ary truth table - 3 for ternary truth table(0,1,2), 2 for binary truth table(1,2)
using namespace std;
int main()
{
int rows,cols,i,j; // Variable declaration
cout<<"\n Enter required number of columns = ";
cin>>cols;
rows = pow(kary,cols);
cout<<"\n Calculated number of rows = "<<rows;
int arr[rows][cols]; // Array declaration
for (i=0; i<rows; i++)
{
for (j=0; j<cols; j++)
arr[i][j]=((i/(int) pow(kary, j)) % kary); //logic
}
cout<<"\n Your array holds this data \n";
for(i = 0; i < rows; i++)
{
for (j=cols-1; j>=0; j--)
cout<<"\t"<<arr[i][j];
cout<<"\n";
}
return 0;
}