fork download
  1. //Diego Martinez CSC5 Chapter 9, P.537,#10
  2. /*******************************************************************************
  3. *
  4. * ______________________________________________________________________________
  5. *
  6. *
  7. *
  8. *
  9. * Computation is based on the Formula:
  10. *
  11. *
  12. *
  13. *______________________________________________________________________________
  14. * INPUT
  15. *
  16. *
  17. *
  18. * OUTPUT
  19. *
  20. *
  21. *
  22. *******************************************************************************/
  23. #include <iostream>
  24. using namespace std;
  25.  
  26. // Function prototype
  27. int* reverseArray(int arr[], int size);
  28.  
  29. int main()
  30. {
  31. // Original array
  32. int numbers[] = {10, 20, 30, 40, 50};
  33.  
  34. int size = 5;
  35.  
  36. // Call function and store returned pointer
  37. int* reversed = reverseArray(numbers, size);
  38.  
  39. // Display original array
  40. cout << "Original Array: ";
  41. for (int i = 0; i < size; i++)
  42. {
  43. cout << numbers[i] << " ";
  44. }
  45.  
  46. cout << endl;
  47.  
  48. // Display reversed copy
  49. cout << "Reversed Copy: ";
  50. for (int i = 0; i < size; i++)
  51. {
  52. cout << reversed[i] << " ";
  53. }
  54.  
  55. cout << endl;
  56.  
  57. // Free dynamically allocated memory
  58. delete[] reversed;
  59.  
  60. return 0;
  61. }
  62.  
  63. // Function definition
  64. int* reverseArray(int arr[], int size)
  65. {
  66. // Dynamically allocate new array
  67. int* newArray = new int[size];
  68.  
  69. // Copy elements in reverse order
  70. for (int i = 0; i < size; i++)
  71. {
  72. newArray[i] = arr[size - 1 - i];
  73. }
  74.  
  75. // Return pointer to new array
  76. return newArray;
  77. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Original Array: 10 20 30 40 50 
Reversed Copy: 50 40 30 20 10