0

我正在尝试编写一个C++程序,它将在运行时获取用户定义的列数并创建一个二维数组,该数组将具有

列 = 在运行时给出
行 = 3

我应该如何初始化一个二维数组,其中行和列最初不是常量。任何链接或教程帮助将不胜感激。

4

2 回答 2

0

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.

于 2013-08-27T23:09:21.157 回答
0

您向我们提供了一些信息,我猜您是在要求一个 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;
}
于 2013-08-28T06:49:44.413 回答