w3resource

C++ Exercises: Create an array of odd numbers and specific lengths from an array

C++ Basic Algorithm: Exercise-123 with Solution

Create Array of Odd Numbers with Specific Length

Write a C++ program that creates a new array of odd numbers with specific lengths from a given array of positive integers.

Test Data:
({1,2,3,5,7,9,10},3) -> {1,3,5}

Sample Solution:

C++ Code :

#include <iostream>  // Including input-output stream header file
#include <string.h>  // Including string manipulation header file

using namespace std;  // Using standard namespace

int *odds;  // Declaration of an integer pointer variable

// Function to filter odd numbers from an array
int *test(int *nums, int n) {
    odds = new int[n];  // Allocating memory for 'odds' array

    int j = 0;  // Initializing variable 'j' to 0

    for (int i = 0; j < n; i++) {
        if (nums[i] % 2 != 0) {
            odds[j] = nums[i];  // Storing odd numbers in the 'odds' array
            j++;
        }
    }

    return odds;  // Returning the array containing odd numbers
}

// Main function
int main() {
    int nums[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};  // Initializing an array of integers
    int *result_array;  // Declaration of an integer pointer variable
    int arr_length = sizeof(nums) / sizeof(nums[0]);  // Calculating the length of the array

    // Displaying the original array elements
    cout << "Original array elements: " << endl;
    for (int i = 0; i < arr_length; i++) {
        std::cout << nums[i] << ' ';
    }

    int n = 3;  // Setting the length of the new array to store odd numbers
    odds = test(nums, n);  // Filtering odd numbers from 'nums' array and storing in 'odds' array
    cout << "\n\nNew array of odd numbers " << "(length = " << n << ")" << " from the said array: " << endl;

    // Displaying the new array containing odd numbers of specified length
    for (int i = 0; i < n; i++) {
        std::cout << odds[i] << ' ';
    }

    n = 5;  // Updating the length of the new array
    odds = test(nums, n);  // Filtering odd numbers from 'nums' array and storing in 'odds' array
    cout << "\n\nNew array of odd numbers " << "(length = " << n << ")" << " from the said array: " << endl;

    // Displaying the new array containing odd numbers of updated length
    for (int i = 0; i < n; i++) {
        std::cout << odds[i] << ' ';
    }

    delete[] odds;  // Deallocating memory allocated for 'odds' array
    return 0;  // Returning 0 to indicate successful completion of the program
}

Sample Output:

Original array elements:
1 2 3 4 5 6 7 8 9

New array of odd numbers (length = 3) from the said array:
1 3 5

New array of odd numbers (length = 5) from the said array:
1 3 5 7 9

Flowchart:

Flowchart: Array from an existing array using string length.

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Test a positive integer and return true if it contains the number 2.
Next: Each element of a given list of integers is multiplied by five.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

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://www.w3resource.com/cpp-exercises/basic-algorithm/cpp-basic-algorithm-exercise-123.php