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 vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.