Guest User

Untitled

a guest
Jun 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int SIZE = 8;
  5.  
  6. void splitParity(int arr[], int n, int& outNumOdd, int& outNumEven);
  7.  
  8. void main() {
  9. int i, numOdds, numEvens;
  10. int arr[SIZE] = {2,5,7,12,13,15,4,16};
  11. splitParity(arr, SIZE, numOdds, numEvens);
  12. cout << "numOdds=" << numOdds << endl;
  13. cout << "numEvens=" << numEvens << endl;
  14. for (i = 0; i < SIZE; i++) {
  15. cout << arr[i] << " ";
  16. }
  17. cout << endl;
  18. }
  19.  
  20. void splitParity(int arr[], int n, int& outNumOdd, int& outNumEven) {
  21. int currNumOdd, currNumEven, left, right, tempVal;
  22. currNumOdd;
  23. currNumEven;
  24. left = 0;
  25. right = n-1;
  26.  
  27. if (n == 1) {
  28. if (arr[left]%2 == 0) {
  29. outNumEven = 1;
  30. currNumOdd = 0;
  31. }
  32. else {
  33. outNumEven = 0;
  34. currNumOdd = 1;
  35. }
  36. return;
  37. }
  38. else {
  39. splitParity(arr, n-1, currNumOdd, currNumEven);
  40. if ((arr[left]%2 == 0) && (arr[right]%2 != 0)) {
  41. tempVal = arr[left];
  42. arr[left] = arr[right];
  43. arr[right] = tempVal;
  44. }
  45. outNumOdd = currNumOdd;
  46. outNumEven = currNumEven;
  47. }
  48. }
Add Comment
Please, Sign In to add comment