动态输入二维数组

使用vector

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

int main(){
    vector<int> a;
    vector<vector<int> > data;

    int n;
    while(cin>>n){
        a.push_back(n);
        char c = getchar();

        if(c == '|'){
            data.push_back(a);
            vector<int>().swap(a);//清除a动态数组的数和空间。

        }else if(c == '\n'){ //回车就退出输入。
            data.push_back(a);

            vector<int>().swap(a);
            break;
        }
    }
    
    //输出效果
    int row = data.size();
    int col = data[0].size();
    cout<<"rows = "<<row<<endl<<"cols = "<<col<<endl;
    for(int i = 0;i<row;++i){
        for(int j = 0;j<col;++j)
            cout<<data[i][j];
        cout<<endl;
    }
    return 0;
}

上面可以输入:

1,2,3,4,5|6,7,8,9,10就是一个二维数组

其中|表示此行结束,需要换下一行。

1 2 3 4 5

6 7 8 9 10

猜你喜欢

转载自blog.csdn.net/qq_36553031/article/details/82875423