使用值将指针指定给指针动态数组 我现在正在阅读Alex Allain跳进C++中,我被困在第14章的练习题1。

使用值将指针指定给指针动态数组 我现在正在阅读Alex Allain跳进C++中,我被困在第14章的练习题1。,c++,arrays,pointers,multidimensional-array,nested-loops,C++,Arrays,Pointers,Multidimensional Array,Nested Loops,编写一个函数,用于为二维生成任意大小的二维乘法表 实际上,我很难将times表分配给数组,但所有这些嵌套循环都让我头疼!我得到的输出是“99999999” 我的代码: #include <iostream> using namespace std; int main() { int **p_p_tictactoe; p_p_tictactoe = new int*[3]; for (int i = 0; i < 3; i++)

  • 编写一个函数,用于为二维生成任意大小的二维乘法表 实际上,我很难将times表分配给数组,但所有这些嵌套循环都让我头疼!我得到的输出是“99999999”

    我的代码:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    
        int **p_p_tictactoe;
        p_p_tictactoe = new int*[3]; 
    
        for (int i = 0; i < 3; i++)
            p_p_tictactoe[i] = new int[3];
    
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                p_p_tictactoe[i][j] = 1;
    
                for (int y = 0; y < 4; y++)
                {
                    for (int t = 0; t < 4; t++)
                    {
                        p_p_tictactoe[i][j] = y * t;
                    }
                }
                cout << p_p_tictactoe[i][j];
            }   
        }
        cin.get();
    
    
        for (int i = 0; i < 3; i++)
            delete[] p_p_tictactoe[i];
        delete[] p_p_tictactoe;
    
    }
    
    #包括
    使用名称空间std;
    int main()
    {
    国际**p_p______________________________;t;
    p_p_tictactoe=新整数*[3];
    对于(int i=0;i<3;i++)
    p_p_tictactoe[i]=新整数[3];
    对于(int i=0;i<3;i++)
    {
    对于(int j=0;j<3;j++)
    {
    p_p_tictactoe[i][j]=1;
    对于(int y=0;y<4;y++)
    {
    for(int t=0;t<4;t++)
    {
    p_p_tictactoe[i][j]=y*t;
    }
    }
    
    你能用
    p\u p\u tictactoe[i][j]=y*t;
    覆盖p\u tictactoe[i][j]处的值16次吗?这和你的
    p\u tictactoe[i][j]一样=3*3;
    一次…@zenith是的,但变量i、y、j和t在这16次中应该是不同的?是的,但只剩下最后一个
    y*t
    ,因为在每次迭代中,您将它们覆盖到相同的
    p\u tictactoe[i][j]
    。如果您想从1开始,我如何不覆盖它们?或者
    (i+1)*(j+1)