【问题标题】:Having trouble with converting this one dimensional array to a two dimensional array in C++在 C++ 中将此一维数组转换为二维数组时遇到问题
【发布时间】:2021-12-29 22:15:58
【问题描述】:

这是一个程序,它要求用户输入 20 个数字,然后将它们按升序排列在二维数组中。我无法将一维数组转换为二维数组。输出结果为具有相同值的二维数组。

        #include<iostream>
        #include<iomanip>
        using namespace std;

        //global
        int i,j,count;
        int row,col;
        const int sizeRow=4;
        const int sizeCol=5;
        int list[sizeRow][sizeCol];
        int elements[20];
        int temp;

        int main()
        {

            cout<<"Processing Bubble Sorting Technique..."<<endl
            <<"Enter 20 elements"<<endl;  
        
            for (i=0;i<20;i++) //input
            {
                cout<<"loc["<<i<<"]:";
                cin>>elements[i];
                cout<<endl;
            }

            for (i=0;i<20;i++) //process-bubble sorting
            {
                for (j=i+1;j<20;j++)
                {
                    if (elements[j]<elements[i])
                    {
                        temp=elements[i];
                        elements[i]=elements[j];
                        elements[j]=temp;
                    }
                }
            }
            //converting 1 dimensional array to 2 dimensional
            cout<<"Ascending Order"<<endl;
            for (count=0;count<20;count++)
            {
                for (i=0;i<sizeRow;i++)
                {
                    for(j=0;j<sizeCol;j++)
                    {
                    list[i][j]=elements[count]; 
                    }
                }
            }   
            //output
            for (i=0;i<sizeRow;i++)
            {
                for(j=0;j<sizeCol;j++)
                {
                    cout<<left<<setw(5)<<list[i][j]<<" ";
                }
                cout<<endl;
            }
        }

【问题讨论】:

    标签: dev-c++


    【解决方案1】:

    这是您的三重嵌套循环。想想看;将每个元素分配给传出数组的每个元素。

    你想要:

    for (count=0;count<20;count++)
    {
        int i = count / sizeCol;
        int j = count % sizeCol;
        list[i][j]=elements[count]; 
    }   
    

    【讨论】:

      猜你喜欢
      • 2012-03-08
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 2018-02-19
      相关资源
      最近更新 更多