首页 > 解决方案 > 如何克服此代码中的错误 int[int]

问题描述

int main() { 
    int i,j,a; 
    cin >> i >> j; // i = number of rows, j = number of queries
    int arr[i]; // defining array with i rows
    for(int k=0; k<i ; k++){

        cin >> a;

        int arr[k][a]; //defining kth row of array with a columns

        for(int l=0; l<a ; l++){
            cin >> arr[k][l]; // accepting values  
        }
    }
    for(int k=0; k<j ; k++){
        int z1,z2;
        cin >> z1 >> z2; // accepting queries
      cout << arr[z1][z2] << endl; // printing values from queries
    }
    return 0;
}

这段代码在 main 的第二个循环中给了我编译错误。

Solution.cpp: In function ‘int main()’:
Solution.cpp:29:25: error: invalid types ‘int[int]’ for array subscript
       cout << arr[z1][z2] << endl; // printing values from queries

这是我要解决的问题

/* 考虑一个 -element 数组 ,其中数组中的每个索引都包含对整数数组的引用(其中 的值因数组而异)。有关图表,请参见下面的说明部分。

给定,您必须回答查询。每个查询都采用 ij 格式,其中表示数组中的索引,表示位于 的数组中的索引。对于每个查询,在新行的位置查找并打印数组中元素的值。

单击此处了解有关如何在 C++ 中创建可变大小数组的更多信息。

输入格式

第一行包含两个以空格分隔的整数,分别表示(可变长度数组的数量)和(查询的数量)的值。后续行的每一行都包含一个空格分隔的序列,格式为 ka[i]0 a[i]1 … a[i]k-1,描述位于 的 -element 数组。随后的每一行都包含两个以空格分隔的整数,分别描述查询的(数组中的索引)和(由 引用的数组中的索引)的值。*/

标签: c++arrayspointers

解决方案


推荐阅读