A304

Задача
Даны действительные числа [latex]a_{1},a_{2},\cdots[/latex] (читать до конца входного потока). Переставить члены последовательности так, чтобы сначала расположились все ее неотрицательные члены, а потом  — все отрицательные. Порядок как среди неотрицательных членов, так и среди отрицательных должен быть сохранен прежним.
Код программы
Тесты

Test № Input Output
1 -23 45 17 -78 0 34 45 17 0 34 -23 -78
2 -56 -56.34 0.2 56 9 0.2 56 9 -56 -56.34
3  -1 3 2 1 0 -3 -2 3 2 1 0 -1 -3 -2
4 -0.333 -1 0 1 0 -2 0 2 0 1 0 0 2 -0.333 -1 -2
5 9 -9 0 -96 -11 27 -13 9 0 27 -9 -96 -11 -13

Алгоритм решения

Считываем все действительные числа до конца входного потока и записываем их в один вектор. Создаем еще два вектора. В один из них будем записывать неотрицательные члены последовательности, содержащиеся в первом векторе, а в другой — отрицательные. Так как в условии задачи сказано, что сначала нужно вывести все неотрицательные члены последовательности, а затем — отрицательные, то к вектору с положительной частью последовательности добавляем в конец вектор с отрицательной частью последовательности и выводим результат.

Код программы

 

One thought on “A304