En el lenguaje de programación C, las matrices se definen así:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
El tamaño de la matriz se infiere de los elementos de inicialización, que en este caso es 6. También puede escribir una matriz C de esta manera, dimensionándola explícitamente y luego definiendo cada elemento en orden:
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;
El reto
Debe escribir un programa o función que expanda las matrices de la primera a la segunda. Como está escribiendo un programa para alargar el código y le encanta la ironía, debe hacer que su código sea lo más breve posible.
La entrada será una cadena que representa la matriz original, y la salida será la definición de matriz expandida. Puede asumir con seguridad que la entrada siempre se verá así:
<type> <array_name>[] = {<int>, <int>, <int> ... };
"Type" y "array_name" estarán compuestos completamente por caracteres alfabéticos y guiones bajos _
. Los elementos de la lista siempre serán un número en el rango de -2,147,483,648 a 2,147,483,647. Las entradas en cualquier otro formato no necesitan ser manejadas.
El espacio en blanco en su salida debe coincidir exactamente con el espacio en blanco en la salida de prueba, aunque se permite una nueva línea final.
Prueba 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;
Se alientan las presentaciones en cualquier idioma, pero puntos de bonificación si puede hacerlo en C.
Tabla de clasificación:
Aquí hay una tabla de clasificación que muestra las principales respuestas:
foo[0]=1;
sería aceptable?