W języku programowania C tablice są zdefiniowane w następujący sposób:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
Rozmiar tablicy wynika z elementów inicjujących, które w tym przypadku wynoszą 6. Możesz również napisać tablicę C w ten sposób, jawnie zmieniając jej rozmiar, a następnie definiując każdy element w kolejności:
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;
Wyzwanie
Musisz napisać program lub funkcję, która rozwija tablice od pierwszej do drugiej. Ponieważ piszesz program, aby wydłużyć kod i kochasz ironię, musisz go skrócić tak krótko, jak to możliwe.
Dane wejściowe będą ciągiem znaków reprezentującym oryginalną tablicę, a dane wyjściowe będą rozszerzoną definicją tablicy. Możesz bezpiecznie założyć, że dane wejściowe zawsze będą wyglądać następująco:
<type> <array_name>[] = {<int>, <int>, <int> ... };
„Type” i „array_name” składają się wyłącznie ze znaków alfabetu i znaków podkreślenia _
. Elementami listy zawsze będzie liczba z zakresu od -2 147 483 648 do 2 147 483 647. Wejścia w dowolnym innym formacie nie muszą być obsługiwane.
Biała spacja na wyjściu musi dokładnie pasować do białej spacji na wyjściu testowym, chociaż dozwolony jest końcowy znak nowej linii.
Test 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;
Zgłoszenia w dowolnym języku są zachęcane, ale punkty bonusowe, jeśli możesz to zrobić w C.
Tabela liderów:
Oto tabela liderów przedstawiająca najlepsze odpowiedzi:
foo[0]=1;
byłby do przyjęcia?