Задача дня пока была самой простой — кажется, я потратил больше времени на чтение задания, чем на написание двух строчек кода, которые его решали.

Я был немного разочарован тем, что большая часть кода уже написана (и я надеюсь, что у меня еще будет возможность научиться использовать malloc() в ходе этой задачи). Я подозреваю, однако, что это и было необъявленной целью этой задачи: научить вас читать, понимать и доделывать чужой код.

Изучив описание и предоставленный код, я решил не усложнять задачу, взять массив и распечатать его в обратном порядке, начиная с arr_i = n — 1. Тогда код выглядел следующим образом:

for (int arr_i = n — 1; arr_i >= 0; arr_i-- ) {
printf(“%d “, arr[arr_i]);
}

Он скомпилировался и работал отлично, а также прошел все тесты.

Из любопытства я погуглил printing reversed array in c и, к своему удивлению, обнаружил, что многие, если не большинство, решений основаны на перестановке элементов в массиве. В то время как замена элементов может быть полезна для определенных задач, в данном случае это, кажется, усложняет ситуацию: зачем менять местами элементы, когда можно просто распечатать тот же массив, начиная с конца?

Задача следующего дня оказалась настолько каверзной (на C), что уступала в сложности обеим задачам :)