Variable Sized Arrays

Sort by

recency

|

1462 Discussions

|

  • + 1 comment
    int main() {
        int n,q;
        cin >> n >> q;
        vector<vector<int>> v;
        
        for(int i=0;i<n;i++){
            int len;
            cin >> len;
            vector<int> arr;
            for(int j=0;j<len;j++){
                int num;
                cin >> num;    
                arr.push_back(num);
            }
            v.push_back(arr);
        }
        
        for(int i = 0; i < q; i++){
            int a;
            int b;
            cin >> a >> b;
            cout << v[a][b] << endl;
        }
    
        return 0;
    }
    
  • + 0 comments

    include

    include

    include

    include

    include

    using namespace std;

    int main() { int n,q; cin >> n >> q;

    //cout << n <<" "<<q<<endl;
    vector<vector<int> *> v;
    int q_arr[q][2];
    for(int i = 0; i<n; i++){
        int col;
        cin >> col;
        int val;
        // Allocate memory on heap
        vector<int>* line = new vector<int>;
        for (int j = 0; j< col; j++){
            cin >> val;
            line->push_back(val);
        }
        v.push_back(line);
    }
    // the variable line goes out of scope but the vector still in heap and its address still stored in v.
    // Read querry
    for(int i = 0; i<q; i++){
        cin >> q_arr[i][0];cin >> q_arr[i][1];
    }
    for(int i = 0; i<q; i++){
        int k = q_arr[i][0];
        int j = q_arr[i][1];
        //cout << k<<j<<endl;
        cout<<(*v[k])[j]<<endl;
    }
    // Delete allocated memory
    for (auto ptr : v){
        delete ptr;
    }
    v.clear(); // all the pointer stored in v are now nullptr and v is cleared to have size = 0
    

    }

  • + 0 comments
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int n, q;
        cin >> n >> q;
    
        int **sequences = new int *[n];
        int **queries = new int *[q];
    
        for (int si = 0; si < n; si++)
        {
            int k;
            cin >> k;
    
            int *sequence = new int[k];
    
            for (int ki = 0; ki < k; ki++)
            {
                cin >> sequence[ki];
            }
    
            sequences[si] = sequence;
        }
    
        for (int qi = 0; qi < q; qi++)
        {
            int *query = new int[2];
            cin >> query[0] >> query[1];
            queries[qi] = query;
        }
    
        for (int qi = 0; qi < q; qi++)
        {
            cout << sequences[queries[qi][0]][queries[qi][1]] << endl;
        }
    }
    
  • + 0 comments
    int main() {
        int n, q;
        cin >> n >> q;
        vector<vector<int>> arr;
        for (int i = 0; i < n; i++) {
            int k;
            cin >> k;
            vector<int> tmp;
            for (int j = 0; j < k; j++) {
                int cur_num;
                cin >> cur_num;
                tmp.push_back(cur_num);
            }
            arr.push_back(tmp);
        }
        for (int i = 0; i < q; i++) {
            int x, y;
            cin >> x >> y;
            cout << arr[x][y] << "\n";
        }
        return 0;
    }
    
  • + 0 comments

    int main(){ int n, q; cin >> n>> q; vector> arr(n);

    for(int i=0; i<n ;i++){
        int k;
        cin >> k;
        arr[i].resize(k);
        for(int j=0; j<k; j++){
            cin >> arr[i][j];
        }
    }
    for(int a=0; a<q; a++){
        int i, j;
        cin >> i >> j;
        cout << arr[i][j] << endl;
    }
    return 0;
    

    }****