👤

Ajutor!
Realizati un program c++.

Se dă un vector cu n elemente, numere naturale distincte. Ordonați crescător elementele situate înaintea valorii maxime din vector și descrescător elementele situate după această valoare.Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului.Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.
Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000


Răspuns :

#include <iostream>

using namespace std;

bool comparare(int a, int b, int crescator)
{
    if (crescator == 1)
        return a > b;
    return a < b;
}

void ordonare(int sir[], int indice_inceput, int indice_sfarsit, int crescator)
{
    for (int i = indice_inceput; i < indice_sfarsit; i++)
    {
        for (int j = i + 1; j <= indice_sfarsit; j++)
        {
            if (comparare(sir[i], sir[j], crescator))
            {
                int aux = sir[i];
                sir[i] = sir[j];
                sir[j] = aux;
            }
        }
    }
}

int main()
{
    int nr_elem, indice_elem_maxim, sir[1001], elem_maxim;
    cout << "n=";
    cin >> nr_elem;
    cout << "Introduceti cele " << nr_elem << " elemente:" << endl;

    cin >> sir[1];
    elem_maxim = sir[1];
    indice_elem_maxim = 1;

    for (int i = 2; i <= nr_elem; i++)
    {
        cin >> sir[i];
        if (sir[i] > elem_maxim)
        {
            indice_elem_maxim = i;
            elem_maxim = sir[i];
        }
    }

    ordonare(sir, 1, indice_elem_maxim - 1, 1);
    ordonare(sir, indice_elem_maxim + 1, nr_elem, 0);

    for (int i = 1; i <= nr_elem; i++)
        cout << sir[i] << " ";

    return 0;
}


Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Așteptăm cu entuziasm să reveniți și vă invităm să ne adăugați la lista de favorite!


Viz Lesson: Alte intrebari