﻿ C++ : New array of length 3 from the elements from an array

# 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>
using namespace std;

static int* test(int numbers[], int arr_length)
{
static int result[] { numbers[arr_length / 2 - 1], numbers[arr_length / 2], numbers[arr_length / 2 + 1] };
return result;
}

int main()
{
int *result, i;
int nums[] = {1, 5, 7, 9, 11, 13};
int arr_length = sizeof(nums) / sizeof(nums[0]);

cout << "Original array:" << endl;

for ( i = 0; i < arr_length; i++ )
cout << nums[i] << " ";

result = test(nums, arr_length);
cout << "\nNew array:" << endl;
arr_length = sizeof(result) / sizeof(result[0]);
for ( i = 0; i <= arr_length; i++ ) {
cout << *(result + i) << " ";
}

return 0;
}
``````

Sample Output:

```Original array:
1 5 7 9 11 13
New array:
7 9 11
```

Pictorial Presentation:

Flowchart:

C++ Code Editor:

What is the difficulty level of this exercise?

﻿

## C++ Programming: Tips of the Day

Program being compiled differently in 3 major C++ compilers. Which one is right?

GCC is correct, at least according to C++11 lookup rules. 3.4.3.1 [class.qual]/2 specifies that, if the nested name specifier is the same as the class name, it refers to the constructor not the injected class name. It gives examples:

```B::A ba;           // object of type A
A::A a;            // error, A::A is not a type name
struct A::A a2;    // object of type A
```

It looks like MSVC misinterprets it as function-style cast expression creating a temporary C with y as a constructor parameter; and Clang misinterprets it as a declaration of a variable called y of type C.

Ref: https://bit.ly/3ww1Bna

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook