可变大小的多维数组

时间:2020-06-08 10:13:25

标签: c++ arrays multidimensional-array

我的可变大小多维数组的代码有什么问题。如何解决此问题。 我的代码没有通过所有测试用例。任何人都可以帮助我修复它。这是来自hackerrank挑战的问题。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,q;
    cin>>n;
    cin>>q;
    int *arr[n];  
    for(int i=0;i<n;i++)
    {
       int x;
       cin>>x;
       int b[x];
       for(int j=0;j<x;j++)
       {
           cin>>b[j];
       } 
       arr[i]=b;
    }
    while(q--)
    {
        int i,e;
        cin>>i>>e;
        cout<<arr[i][e]<<endl;
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

这里是正确的代码。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,q;
    cin>>n;
    cin>>q;
    int *arr[n];   // passed all test cases
    for(int i=0;i<n;i++)
    {
       int x;
       cin>>x;
       int *b=new int[x];
       for(int j=0;j<x;j++)
       {
           cin>>b[j];
       } 
       arr[i]=b;
    }
    while(q--)
    {
        int i,e;
        cin>>i>>e;
        cout<<arr[i][e]<<endl;
    }
    return 0;
}