fork download
  1. //Charlotte Davies-Kiernan CS1A Chapter 9 P. 539 #10
  2. //
  3. /******************************************************************************
  4.  *
  5.  * Reverse an Array
  6.  * ____________________________________________________________________________
  7.  * This program will accept an array's size and the integers that make it up
  8.  * and then reverse the contents of the array. Both arrays will be displayed
  9.  * after!
  10.  * ____________________________________________________________________________
  11.  * Input
  12.  * size :amount of elements in the arrays
  13.  * original :array made up of contents enetred by user
  14.  * Output
  15.  * reverse :reverse of the array the user had originally entered
  16.  *****************************************************************************/
  17. #include <iostream>
  18. #include <iomanip>
  19. using namespace std;
  20.  
  21. //Function Prototype
  22. int* reverseArray(const int* arr, int size);
  23.  
  24. int main() {
  25. //Data Dictionary
  26. int size;
  27. int* original;
  28. int* reversed;
  29.  
  30. //User Input
  31. cout << "Enter the size of the array: " << endl;
  32. cin >> size;
  33. //Input Validation
  34. while(size <= 0) {
  35. cout << "Size must be positive. Re-enter: " << endl;
  36. cin >> size;
  37. }
  38. original = new int[size];
  39.  
  40. for(int i = 0; i < size; i++) {
  41. cout << "Enter element #" << (i + 1) << ": " << endl;
  42. cin >> *(original + i);
  43. }
  44.  
  45. reversed = reverseArray(original, size);
  46.  
  47. //Display Original Array
  48. cout << "Original Array: " ;
  49. for(int i = 0; i < size; i++){
  50. cout << *(original + i) << " ";
  51. }
  52. cout << endl;
  53.  
  54. //Display Reversed Array
  55. cout << "Reversed Array: ";
  56. for(int i = 0; i < size; i++){
  57. cout << *(reversed + i) << " ";
  58. }
  59. cout << endl;
  60.  
  61. //Free Memory
  62. delete[] original;
  63. delete[] reversed;
  64.  
  65. return 0;
  66. }
  67.  
  68. //Function Definition
  69. int* reverseArray(const int* arr, int size){
  70. int* rev = new int[size];
  71. for(int i = 0; i < size; i++){
  72. *(rev + i) = *(arr + ( size - 1 - i));
  73. }
  74. return rev;
  75. }
Success #stdin #stdout 0s 5308KB
stdin
5
15
4
87
9
10
stdout
Enter the size of the array: 
Enter element #1: 
Enter element #2: 
Enter element #3: 
Enter element #4: 
Enter element #5: 
Original Array: 15 4 87 9 10 
Reversed Array: 10 9 87 4 15