Informatică
likeboss007
2023-07-11 13:52:42
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ăspunsuri la întrebare
STR
2023-07-11 17:57:00

#include 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; }

Adăugați un răspuns