В языке программирования C массивы определяются следующим образом:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
Размер массива определяется из инициализирующих элементов, который в данном случае равен 6. Вы также можете написать массив C таким образом, явно определив его размер, затем определив каждый элемент по порядку:
int foo[6]; //Give the array an explicit size of 6
foo[0] = 4;
foo[1] = 8;
foo[2] = 15;
foo[3] = 16;
foo[4] = 23;
foo[5] = 42;
Соревнование
Вы должны написать программу или функцию, которая расширяет массивы с первого пути на второй. Поскольку вы пишете программу, которая делает код длиннее, и вы любите иронию, вы должны сделать свой код максимально коротким.
На входе будет строка, представляющая исходный массив, а на выходе будет расширенное определение массива. Вы можете смело предположить, что входные данные всегда будут выглядеть так:
<type> <array_name>[] = {<int>, <int>, <int> ... };
«Type» и «array_name» будут полностью состоять из букв алфавита и подчеркивания _
. Элементами списка всегда будут числа в диапазоне от -2 147 483 648 до 2 147 483 647. Входные данные в любом другом формате не требуют обработки.
Пробелы в выходных данных должны точно совпадать с пробелами в выходных данных теста, хотя завершающий перевод строки разрешен.
Тест IO:
#in
short array[] = {4, 3, 2, 1};
#out
short array[4];
array[0] = 4;
array[1] = 3;
array[2] = 2;
array[3] = 1;
#in
spam EGGS[] = {42};
#out
spam EGGS[1];
EGGS[0] = 42;
#in
terrible_long_type_name awful_array_name[] = {7, -8, 1337, 0, 13};
#out
terrible_long_type_name awful_array_name[5];
awful_array_name[0] = 7;
awful_array_name[1] = -8;
awful_array_name[2] = 1337;
awful_array_name[3] = 0;
awful_array_name[4] = 13;
Материалы на любом языке приветствуются, но бонусные баллы, если вы можете сделать это на C.
Leaderboard:
Вот таблица лидеров, показывающая лучшие ответы:
foo[0]=1;
бы приемлемо?