Ваша логика заключается в том, что каждый раз, когда вы делаете цикл и находите следующее отрицательное число:
- Запишите его.
- Если записанное число не было последним элементом массива,напишите ",".
Во-первых, вышеприведенный шаг 2 не имеет большого логического смысла, поскольку, хотя число может быть не последним элементом массива, оно вполне может быть последним отрицательным номер массива. Но к настоящему времени вы, вероятно, понимаете, что это может произойти, иначе вы бы не разместили этот вопрос.
Что имеет больше смысла, если иметь логический флаг с именем didOutput
, изначально установленный в false
, представляющий, имели ли вы когда-либовыводится любое отрицательное число. Это вы установили вне цикла. Тогда цикл выглядит так в псевдокоде:
didOutput = false;
loop {
get next negative number;
if didOutput then {
write(", ");
}
write number;
didOutput = true;
}
Таким образом, на каждой итерации цикла вы записываете запятую перед , записывая следующее число, если и только если выВыписали хоть один номер. Вам нужно всего лишь одно или два изменения строки в существующем коде, которые я мог бы сделать, но это шаблон, который будет повторяться снова и снова, и его важно понимать, поэтому вы должны попытаться включить его самостоятельно в свой код.