Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,i,j, nrmax, indmax, temp, a[100];
cout << "n="; cin >> n;
cout << "introdu " << n << " numere intregi: ";
cin >> a[0]; nrmax=a[0]; indmax=0;
for (i=1; i<n; i++)
{
cin >> a[i];
if (a[i]>nrmax)
{
nrmax=a[i]; indmax=i;
}
}
int schimb=1;
while (schimb==1)
{
schimb=0;
for (i=0; i<indmax-1; i++)
{
if (a[i+1]<a[i])
{
swap(a[i],a[i+1]);
schimb=1;
}
}
}
schimb=1;
while (schimb==1)
{
schimb=0;
for (i=indmax+1; i<n-1; i++)
{
if (a[i+1] > a[i])
{
swap(a[i],a[i+1]);
schimb=1;
}
}
}
cout << "tabloul ordonat: \n";
for (i=0; i<n; i++)
cout << a[i] << " ";
}
Explicație:
un singur vector...
aplicata metoda bulelor... de la 0 la indmax (indicele primului maximal) cu ordonare crescatoare, si dela indmax+1 pana la capat pentru ordonare descrescatoare
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că ați găsit conținutul oferit util și inspirațional. Dacă aveți întrebări suplimentare sau doriți asistență, vă încurajăm să ne contactați. Ne-ar face plăcere să reveniți și nu uitați să ne adăugați în lista dumneavoastră de favorite!