• 50.【动态二维数组的运用】


    84d6627292a642f194a397099283742a.png

     ==============

    adec2de8a648450f94025a88c125ffde.png

     

    【列数只能手动输入,行数可以动态】

    #include

    using namespace std;

    int main()

    {

     int m, n;

     cout << "请输入行数为:" << endl;

     cin >> m;

     cout << "请输入列数为:" << endl;

     cin >> n;

     int(*p)[n]; // 列数不能动态输入

     p = new int[m][n];

     for (int i = 0; i < 5; i++)

     {

      for (int j = 0; j < 3; j++)

      {

       cout << "请输入p[" << i << "][" << j << "]的值" << endl;

       cin >> p[i][j];

      }

     }

     cout << "输出为:" << endl;

     for (int i = 0; i < 5; i++)

     {

      for (int j = 0; j < 3; j++)

      {

       cout<< p[i][j]<<" ";

      }

     }

     return 0;

    }

    3713eef8bd1a4b00b85251e694171549.png

     【方法2手动输入列数可以运行】

    #include

    using namespace std;

    int main()

    {

     int m, n;

     cout << "请输入行数为:" << endl;

     cin >> m;

     

     int(*p)[3];              

     p = new int[m][3];

     for (int i = 0; i < m; i++)

     {

      for (int j = 0; j < 3; j++)

      {

       cout << "请输入p[" << i << "][" << j << "]的值" << endl;

       cin >> p[i][j];

      }

     }

     cout << "输出为:" << endl;

     for (int i = 0; i < 5; i++)

     {

      for (int j = 0; j < 3; j++)

      {

       cout<< p[i][j]<<" ";

      }

     }

     return 0;

    }

    e5c9e0dc8cdf4531aa20666321a752ec.png

     

     53014d21d9294199bccd985249e4ec16.png

     

     【方法1】

    #include
    using namespace std;
    int main()
    {
        int m, n;
        cout << "请输入行数为:" << endl;
        cin >> m;
        cout << "请输入列数:" << endl;
        cin >> n;
        int**p;                 // 
        p = new int*[n];
        for (int i = 0; i < n; i++)
        {
            p[i] = new int[n];
        }
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                cin >> p[i][j];
            }
        }
        cout << "输出为:" << endl;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                cout<< p[i][j]<<" ";
            }
        }
        delete[]p;
        return 0;
    }

    7d14897a10a446d09995fb755b794be9.png

     

    【方法2基本格式】

    int (*p)[列]

    p=new int[行][列]

    【方法1基本格式】

    int **p;

    p=new int*[列]

    for(int i=0;i<列;i++)

    {

        p[i]=new int [列]

    }

    【总结】

    f3f5856b66e441119ad1fb987ca91a0d.png

     

     

  • 相关阅读:
    Java反序列化学习
    Linux编译安装dig9.18
    2023.11.09 homework (2)
    OPCUA 行业配套标准:机器人
    【附源码】Python计算机毕业设计图书共享系统
    程序流程控制语句
    MYSQL的事务、视图、索引、数据备份和恢复
    8.ROS编程学习:自定义服务数据python调用
    Pytorch构建Transformer实现英文翻译
    jira提交bug规范
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/126093934