Dalam bahasa pemrograman C, array didefinisikan seperti ini:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
Ukuran array disimpulkan dari elemen inisialisasi, yang dalam hal ini adalah 6. Anda juga dapat menulis array C dengan cara ini, secara eksplisit mengukurnya lalu mendefinisikan setiap elemen dalam urutan:
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;
Tantangan
Anda harus menulis sebuah program atau fungsi yang memperluas array dari cara pertama ke yang kedua. Karena Anda menulis program untuk membuat kode lebih lama, dan Anda suka ironi, Anda harus membuat kode sesingkat mungkin.
Input akan berupa string yang mewakili array asli, dan output akan menjadi definisi array yang diperluas. Anda dapat dengan aman berasumsi bahwa input akan selalu terlihat seperti ini:
<type> <array_name>[] = {<int>, <int>, <int> ... };
"Ketik" dan "array_name" akan seluruhnya terdiri dari karakter alfabet dan garis bawah _
. Elemen daftar akan selalu menjadi angka dalam kisaran -2,147.483.648 hingga 2.147.483.647. Input dalam format lain apa pun tidak perlu ditangani.
Spasi putih dalam output Anda harus sama persis dengan spasi putih dalam output pengujian, meskipun baris tambahan tambahan diperbolehkan.
Tes 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;
Kiriman dalam bahasa apa pun dianjurkan, tetapi poin bonus jika Anda bisa melakukannya dalam C.
Papan peringkat:
Berikut adalah papan peringkat yang menunjukkan jawaban teratas:
foo[0]=1;
akan diterima?