C++ Exercises: Create a new array length 3 from a given array the elements from the middle of the array
C++ Basic Algorithm: Exercise-96 with Solution
Write a C++ program to create an array length 3 from a given array (length at least 3) using the elements from the middle of the array.
Sample Solution:
C++ Code :
#include <iostream> // Including input-output stream header file
using namespace std; // Using standard namespace
static int* test(int numbers[], int arr_length) // Function definition that creates an array with three elements from the middle of the input array and returns a pointer to it
{
static int result[] { numbers[arr_length / 2 - 1], numbers[arr_length / 2], numbers[arr_length / 2 + 1] }; // Creating a new array 'result' with three elements from the middle of the 'numbers' array
return result; // Returning a pointer to the newly created array
}
int main()
{
int *result, i; // Declaring pointer variable result and integer i
int nums[] = {1, 5, 7, 9, 11, 13}; // Initializing array nums with values
int arr_length = sizeof(nums) / sizeof(nums[0]); // Calculating length of array nums
cout << "Original array:" << endl; // Printing a message
for ( i = 0; i < arr_length; i++ ) // Loop to print elements of the nums array
cout << nums[i] << " ";
result = test(nums, arr_length); // Calling the test function and storing the returned pointer in result
cout << "\nNew array:" << endl; // Printing a message
arr_length = sizeof(result) / sizeof(result[0]); // Calculating the length of array pointed by result (This may not work as intended, see explanation below)
for ( i = 0; i <= arr_length; i++ ) { // Loop to print elements of the array pointed by result
cout << *(result + i) << " "; // Printing elements of the array pointed by result
}
return 0; // Returning 0 to indicate successful completion of the program
}
Sample Output:
Original array: 1 5 7 9 11 13 New array: 7 9 11
Visual Presentation:
Flowchart:
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a C++ program to create a new array swapping the first and last elements of a given array of integers and length will be least 1.
Next: Write a C++ program to find the largest value from first, last, and middle elements of a given array of integers of odd length (atleast 1).
What is the difficulty level of this exercise?
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/cpp-exercises/basic-algorithm/cpp-basic-algorithm-exercise-96.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics