From 298798f5409b8c36c9df905d3177304bb4be452f Mon Sep 17 00:00:00 2001 From: Justsvetoslavov Date: Wed, 24 Nov 2021 18:43:31 +0200 Subject: Add task2 solutions --- pract_SI/Pract. 05/Solutions/task2.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 pract_SI/Pract. 05/Solutions/task2.cpp (limited to 'pract_SI/Pract. 05/Solutions/task2.cpp') diff --git a/pract_SI/Pract. 05/Solutions/task2.cpp b/pract_SI/Pract. 05/Solutions/task2.cpp new file mode 100644 index 0000000..0d48adc --- /dev/null +++ b/pract_SI/Pract. 05/Solutions/task2.cpp @@ -0,0 +1,27 @@ +void swap(int &a, int &b) +{ + int temp = a; + a = b; + b = temp; +} + +void sortNumbers(int *arr, size_t size) +{ + int leftNumber = 0, rightNumber = size - 1; + + while (leftNumber < rightNumber) + { + while (arr[leftNumber] % 2 == 0 && leftNumber < rightNumber) + leftNumber++; + + while (arr[rightNumber] % 2 == 1 && leftNumber < rightNumber) + rightNumber--; + + if (leftNumber < rightNumber) + { + swap(arr[leftNumber], arr[rightNumber]); + leftNumber++; + rightNumber--; + } + } +} \ No newline at end of file -- cgit v1.3.1-23-gd82d