Как заставить программу объявлять переменное число массивов неопределенного размера

Это может звучать странно, но мне было интересно, можно ли объявить программу n количество массивов типа array[] в цикле с использованием C / C ++. Например, пример этого псевдокода:

input int _n_

run loop for _n_ times such that:
declare _array1[]_
declare _array2[]_
.
.
declare _array'n'[]_

Таким образом, проблема здесь двоякая:
— Объявите массивы переменной длины
— Объявите номер переменной (т.е. N количество) таких массивов.

1

Решение

Таблица правды:

task        / language         | C                   | C++
-------------------------------+-----------------------+------------------------
Declare variable length arrays | Use VLAs            | not possible without
|      int arr[n];    | non-standard extensions
|                     | but use std::vector<T>
-------------------------------+---------------------+--------------------------
Declare a variable number      |  not possible but   | not possible but use
(i.e. n number of) such arrays |  use int arr[n][k]; | vector<vector<T>>
4

Другие решения

Насколько я понимаю, если вы хотите более одного массива, вы не могли бы просто использовать 2D-массив? Это, конечно, означает, что у вас нет переменной длины массива, но вы можете иметь переменное количество массивов одинаковой длины.

Тогда у вас есть это:

int n;
int array[n][length];
2

По вопросам рекламы [email protected]