输入n组数据,将每组数据的值通过下标输出

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
运行结果及报错内容


我的解答思路和尝试过的方法
我想要达到的结果

定义数组,把读取的数据放在数组里,然后读取单数行的下标对应上面的数组输出即可。
下面是我写的代码,你看看

#include <iostream>
using namespace std;
int main()
{
    int t,i,j,n,m,k;
    int** q;
    int** index;

    cin >> t; //读入t
    q = new int*[t]; //记录成绩
    index = new int*[t]; //记录下标
    for (i=0;i<t;i++)
    {
        cin >> n;  //读入n
        q[i] = new int[n+1]; //第一个保存n
        q[i][0] = n;
        //读入数据
        for(j=1;j<=n;j++)
            cin >> q[i][j];
        //读入下标
        cin >> m;
        index[i] = new int[m+1];
        index[i][0] = m;
        for(j=1;j<=m;j++)
            cin >> index[i][j];
    }
    //显示
    for (i=0;i<t;i++)
    {
        m = index[i][0];
        cout << "Case #"<< i+1<<":"<<endl;
        for(j=0;j<m;j++)
        {
            k = index[i][j+1];
            printf("%d\n",q[i][k]);
        }
    }

    //释放空间
    for (i=0;i<t;i++)
    {
        delete[] q[i]; q[i] = 0;
        delete[] index[i]; index[i] =0;
    }

    delete[] q;q=0;
    delete[] index;index = 0;
    
    return 0;
}