Ask Question
8 June, 08:17

Cerinţa Se dau două numere naturale nenule n și p. Afișați în ordine crescătoare puterile lui n mai mici sau egale cu p. Date de intrare Programul citește de la tastatură numerele n și p. Date de ieşire Programul afișează pe ecran, în ordine crescătoare, puterile lui n mai mici sau egale cu p, separate prin câte un spațiu. Restricţii şi precizări 2 ≤ n ≤ 10 1 ≤ p < 1.000.000.000

+4
Answers (1)
  1. 8 June, 08:38
    0
    Given an array of integers (both odd and even), sort them in such a way that the first part of the array contains odd numbers sorted in descending order, rest portion contains even numbers sorted in ascending order.

    Explanation:

    Partition the input array such that all odd elements are moved to left and all even elements on right. This step takes O (n). Once the array is partitioned, sort left and right parts individually. This step takes O (n Log n).

    #include

    using namespace std;

    void twoWaySort (int arr[], int n)

    {

    int l = 0, r = n - 1;

    int k = 0;

    while (l < r) {

    while (arr[l] % 2! = 0) {

    l++;

    k++;

    }

    while (arr[r] % 2 = = 0 && l < r)

    r--;

    if (l < r)

    swap (arr[l], arr[r]);

    }

    sort (arr, arr + k, greater ());

    sort (arr + k, arr + n);

    }

    int main ()

    {

    int arr[] = { 1, 3, 2, 7, 5, 4 };

    int n = sizeof (arr) / sizeof (int);

    twoWaySort (arr, n);

    for (int i = 0; i < n; i++)

    cout << arr[i] << " ";

    return 0;

    }
Know the Answer?
Not Sure About the Answer?
Find an answer to your question ✅ “Cerinţa Se dau două numere naturale nenule n și p. Afișați în ordine crescătoare puterile lui n mai mici sau egale cu p. Date de intrare ...” in 📘 Computers and Technology if you're in doubt about the correctness of the answers or there's no answer, then try to use the smart search and find answers to the similar questions.
Search for Other Answers